• ベストアンサー

EXCEL2003マクロについて

sendkeysで%{i}{p}{f}を実行してマクロでファイルから図の挿入をしようと思っているのですが、この時にデフォルトで「マイ ピクチャー」のフォルダーが開いてしまいます。別のフォルダー(ネットワークドライブ上のフォルダー)を開くようにマクロで設定できるでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.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

kiichi_go
質問者

お礼

丁寧な回答を頂き感謝いたします。 しかしながら私の脳みそではzap35さんのおっしゃる事がよく理解できません。 そんな訳でサンプルをそのまま使わせて頂きました、どうもありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 【Excel2003】マクロの実行

    お世話になります。 フォルダー内全てのエクセルファイルに、あるマクロを実行したいのですが可能でしょうか? 例としましては フォルダー「変更ファイル」 以下中にあるファイル ------------------------ ファイル「A.xls」 ファイル「B.xls」 ファイル「C.xls」 ファイル「マクロ.xls」←ソートを行うマクロ入り ------------------------ 「変更ファイル」フォルダー内の「マクロ.xls」を実行してA,B,Cファイル(フォルダー内全てのファイル)内データーを各ファイル毎ソートしたい。 この作業はマクロ.xlsのマクロをカスタマイズしてすることは可能でしょうか? 可能ならやり方を教えてください。 お願いいたします。

  • 図を挿入したときにマクロを実行したい

    図の書式を操作するマクロを作ったのですが、 挿入した図全てで、このマクロを実行するので 図を挿入したときにこのマクロを自動で実行したいのですが、 そのようなことはできるのでしょうか?

  • Excel2007でマクロが有効にならない

    XPsp2+Excel2007です。ファイルの保存場所はローカルネットワーク上のサーバです。 自分で簡単なマクロを作り、実行して動作を確認して保存しました。しかし、ファイルを開くと「マクロは無効」と警告が出ます。 そのときのダイヤログにも「不明なコンテンツから保護する」の選択子1つしかなく、マクロを有効にできません。 どのようにすれば有効になるのでしょうか。 行ったこと ・Excelマクロ有効ブック(*.xlsm)で保存 ・セキュリティセンタ、マクロの設定で「すべてのマクロを有効にする」にチェック ・セキュリティセンタ、信頼できる場所にローカルネットワーク上のサーバを指定 ・おまじないとして再起動を数回ほど ・電子署名はしてません あと気になることと言えば、Excel機能で読み込み時にパスワードを必要にしてあります。 勝手に暗号化がかかっているようですが・・・ウイルス対策ソフトは入れていません。これが影響しているのでしょうか?

  • 【Excel】マクロのエラー

    先日、ここで質問させていただきながら、複数のファイルの全シートから、会社名と金額を取り出して、一覧表を作成するマクロを作りました。(Excel2003使用) この複数のファイルと一覧表は同じフォルダに入っているのですが、一覧表が4種類あるので、そのフォルダ内に『一覧表』という名前のフォルダを作って、その中に4つの一覧表を移動しました。 その後、マクロを実行すると時々「ファイルが見つからない」といった内容のエラーが出るようになったのですが、一旦、中止して一覧表の元になるファイルを1つ開いて何もせずにそのまま閉じた後、再度マクロを実行するとエラーは出ません。 このエラーは、やはり『一覧表』フォルダを作って移動させたことが原因でしょうか?また、このエラーが出ないようにする方法はあるのでしょうか? コードは下記のようになっていて、“ファイル名”というシートに一覧表の元になる複数のファイル名が入力してあります。 Sub LISTOUT() OUT_LINE = 1 MY_BOOK = ActiveWorkbook.Name Sheets("ファイル名").Select For FILE_GYO = 2 To Cells(2, 1).End(xlDown).Row Sheets("ファイル名").Select FILE_NAME = Cells(FILE_GYO, 1) Workbooks.Open Filename:=FILE_NAME OPEN_BOOK = ActiveWorkbook.Name SHEET_SU = Sheets.Count For i = 1 To SHEET_SU Sheets(i).Select CODE_NO = ActiveSheet.Name KAISHAMEI = Cells(2, 3) TSUKIKEI = Cells(1, 23) RUIKEI = Cells(1, 25) Workbooks(MY_BOOK).Activate Sheets("一覧表").Select OUT_LINE = OUT_LINE + 1 Cells(OUT_LINE, 1) = CODE_NO Cells(OUT_LINE, 3) = KAISHAMEI Cells(OUT_LINE, 4) = TSUKIKEI Cells(OUT_LINE, 6) = RUIKEI Workbooks(OPEN_BOOK).Activate Next ActiveWorkbook.Close Next End Sub マクロに関しては初心者ですので、詳しく教えていただけると助かります。

  • Wordで図の挿入をすると・・・

    こんにちは。困ってます。 Wordで図の挿入をすると、「My Pictures」フォルダからまずダイアログボックスで指定されますよね。 ところが、私のWin2000・Word2002では、通常のDocumentandsettingのMy Picturesではなしに、MSAフォルダ内のMy Picturesが指定されてくるのです。おかしいですよね。 これを最初から、通常使うマイドキュメント内のMy Picturesに変更するのはどうしたらよいのでしょう。 規定のフォルダをかえるのでしょうか? よろしくお願いいたします。

  • エクセルのマクロ 保存フォルダ選択

    エクセルのマクロで以下の事を行いたいのですが、上手く行かずに悩んでおります。 どなたかご教示ください>< 前提:範囲指定した部分をcsvで出力 1.csvの保存フォルダを指定したい (\\192.168~などのネットワークドライブ) 2.形式はデフォルトでcsvを選択した状態にしたい 3.ファイル名を「年月日売上表」にしたいので、デフォルトでファイル名部分に「売上表」と入れたい 年月日は都度手動で変更して保存したいので、上記のフォルダ選択→名前を付けるところまでとマクロで行いたい。 どなたかお知恵をお貸し下さい。

  • excel2000マクロについて

    下記の様なマクロを書いていますが、別のマクロの記述の仕方で短縮に書くことはできないでしょうか。 Sub 承認捺印() Sheets("実行").Select If Range("E13").Value = "申請者" Then Sheets("ログイン").Select If Range("F11").Value = "a8012661" Then Sheets("印章").Select ActiveSheet.Shapes("Picture 15").Copy Call 申請者捺印 End If If Range("F11").Value = "a6601456" Then Sheets("印章").Select ActiveSheet.Shapes("Picture 16").Copy Call 申請者捺印 End If If Range("F11").Value = "t9907028" Then Sheets("印章").Select ActiveSheet.Shapes("Picture 17").Copy Call 申請者捺印 End If If Range("F11").Value = "a7545410" Then Sheets("印章").Select ActiveSheet.Shapes("Picture 18").Copy Call 申請者捺印 End If If Range("F11").Value = "t9806047" Then Sheets("印章").Select ActiveSheet.Shapes("Picture 19").Copy Call 申請者捺印 End If If Range("F11").Value = "t0206030" Then Sheets("印章").Select ActiveSheet.Shapes("Picture 20").Copy Call 申請者捺印 End If  end if end sub Sub 申請者捺印() Sheets("報告票").Select Range("m3").Select ActiveSheet.Paste Range("a1").Select End Sub

  • エクセル2000 図の参照先を変更したい

    エクセル2000で、 挿入 → 図 → ファイルから を選択するとMy Documentsの中のMy picturesを 参照しますが、 これを任意のフォルダーに変更して その設定を保存しておく事は出来ますか? よろしくお願いします。 Win98SE

  • Excel2013のマクロの不具合

    Windows10/Excel2013で突然マクロが使えなくなってしまいました。 マクロファイルは10年ほど前に作成したpersonal.xlsでExcelのバージョンアップの都度そのまま使い続けてきました。 現在はwindows10のxlstartフォルダーに入れていて1ヶ月前までは使えていましたが最近になってexcelデータファイルを開いて マクロを使おうとしても(Alt+F8)マクロ一覧には何も表示されません。 試しにexplorerでpersonal.xlsをクリックするとマクロは表示出来ます。 直す方法ないしはヒントがありましたらよろしくお願いします。

  • Excelにマクロを使って写真を挿入したいのです。

    Excelにマクロを使って写真を挿入したいのです。 ネットサーフィンして挿入できるマクロ(下)を見つけたので 恐縮ながら使ってみたのですが・・・。 マクロを実行すると、"ファイルを開く"画面が開いて、 ファイル、フォルダの一覧表示が出てきました。 これをサムネイル表示になる画面にするには、どうすればよいのでしょうか? また、画面下の"ファイルの種類"では、"すべてのファイル(*.*)" になっていて 画像ファイル以外のファイルもたくさん表示されてしまいます。 これを画像ファイルに限り表示されるようにしたいのですが、 どうすればよいのでしょうか? 使用するExcelバージョンは、2000です。 Sub 画像取込() Dim PicFile As String PicFile = Application.GetOpenFilename() If PicFile = "False" Then Exit Sub ActiveSheet.Pictures.Insert PicFile End Sub 識者の方、よろしくお願いします。

専門家に質問してみよう