- ベストアンサー
EXCEL2003マクロについて
sendkeysで%{i}{p}{f}を実行してマクロでファイルから図の挿入をしようと思っているのですが、この時にデフォルトで「マイ ピクチャー」のフォルダーが開いてしまいます。別のフォルダー(ネットワークドライブ上のフォルダー)を開くようにマクロで設定できるでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>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
お礼
丁寧な回答を頂き感謝いたします。 しかしながら私の脳みそではzap35さんのおっしゃる事がよく理解できません。 そんな訳でサンプルをそのまま使わせて頂きました、どうもありがとうございます。