質問: excel2003マクロについて sendkeysで%{i}{p}{f}を実行してマクロでファイルから図の挿入をしようと思っているのですが、この時にデフォルトで「マイ ピクチャー」のフォルダーが開いてしまいます。別のフォルダー(ネットワークドライブ上のフォルダー)を開くようにマクロで設定できるでしょうか?
回答: >sendkeysで%{i}{p}{f} はdialoginsertpictureダイアログを開くためのコマンドですね。 コモンダイアログのカレントフォルダ規定値は変えられないと思いますが、getopenfilenameを利用すれば可能です。またwindowsapiでカレントフォルダをネットワークドライブに設定できます 以下のマクロはネットワークパスの画像ファイルをシートに挿入するサンプルですので試してみてください。getopenfilenameとdialoginsertpictureは選択したファイル名が表示される/されないという違いがありますが、それほど違和感はないと思います declare function setcurrentdirectory lib "kernel32" alias _ "setcurrentdirectorya" (byval currentdir as string) as long sub macro1() setcurrentdirectory ("\\abcde\images") 'ネットワークパスを指定 res = application.getopenfilename("画像 (*.jpg; *.gif; *.bmp), _ *.jpg; *.gif; *.bmp", , "画像の挿入") if typename(res) <> "boolean" then activesheet.pictures.insert (res) end if end sub