[[20110425100921]] 『オートシェイプの背景にアイコンの絵を貼り付ける』(tomoya) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『オートシェイプの背景にアイコンの絵を貼り付ける』(tomoya)
 マクロで、シート上のオートシェイプにエクスプローラーからc:\tmp\test.exeを
 ドラッグ&ドロップするとオートシェイプの背景にそのアイコンの絵が張り付く
 と言う事をやりたいのですが、可能でしょうか?
 オートシェイプの背景塗り潰しで絵が取り込めるのはわかりましたが
 ActiveSheet.Shapes(""AutoShape 1"").Select
 Selection.ShapeRange.Fill.UserPicture ""C:\test.gif""
 オートシェイプにドラッグ&ドロップは出来ませんか?
 もし出来ないならば、他の方法を考えますので、ファイルから、アイコンの絵を
 どうにかしてオートシェイプ背景にしたいのですが、方法はありますか?
 宜しくお願い致します。
 Excel 2003

 UserPictureメソッドの引数PictureFileに
GetOpenFilenameメソッドでファイル名を指定するとか
Sub Test()
 Dim Filename As String
 Filename = Application.GetOpenFilename
 ActiveSheet.Shapes("AutoShape 1").Fill.UserPicture Filename
End Sub
(BreakTime)

 ドラッグ&ドロップで画像ファイルを貼り付ける・・・
 う〜ん、詳しくないけど、オートシェープではなくActiveXのMicrosoft Web Browserコントロールなら
 そんなことができたような記憶が。
 (通常はツールボックスメニューにはないので、その他のコントロールで選ぶ)

 ぶらっと立ち寄り


BreakTimeさん、ぶらっと立ち寄り さんご回答大変有り難う御座います。
 返事遅くなり大変すみませんでした。

 BreakTimeさん
 ショートカットとか、exeファイルをクリックしてみましたが、
 システムエラー、パラメータが間違っています。
 と言う感じのエラーが出ますがわかりますでしょうか?
 (tomoya)

 >ショートカットとか、exeファイルをクリックしてみましたが、
 ・・・・UserPicture Filename
 提示されているUserPictureというメソッドに指定できる
 パスは、画像ファイル(拡張子が gif jpeg tif bmp etc)だけだと思いますよ

 1 ショートカットの場合は、これがリンクファイルか否かのチェックを行い 
 リンクファイル(ショートカット)だったら、ファイルの中を調べて本当のパスを
 取得するというプログラムを自分で作成するのです。

 2 EXEファイル・・・、これ自己解凍ファイルですよね?
 これの場合は、EXEファイルを実行して解凍されたファイルを調べてパスを取得する
 プログラムを作成しなければなりません。

 1は、だったら、Shellを使えば、出来そうですが、
http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/object/shellfol.htm
 ↑参考サイト

 2は結構大変だと思います。
 自己解凍ファイルについて1から調べることがまず必要です。

 ここまで求めるとなると、LzhやZipファイルは、どうするなんてことも
 考えなくてはなりません。

 仕様をもうちょっと簡単にして画像ファイルだけ指定可能にしてみては?

 いえEXEやショートカットにも対応したい なら、上記のようなことから
 調べてください。

 ichinose


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.