• ベストアンサー

別アプリケーションへChDir

エクセルのVBAを使い別のアプリケーションを操作するのですが SendKeysを使い、ファイルを開くダイアログを開いた時の初期ディレクトリがどうしても変更できません。 希望は以下の内容と同じ事を別アプリで実行することです。 Sub test() ChDir "C:\test" '↓この部分はSendkeysを使う操作になっても構いません。 Application.Dialogs(xlDialogOpen).Show End Sub 何方かお助け願います。

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

  • ベストアンサー
回答No.2

Excelのマクロで開いたアプリの [ファイル]-[開く] で表示される ディレクトリを、指定した任意ものにしたい、ということでしたら、 次のような内容ではいかがでしょうか。 IrfanViewで指定フォルダを開いてみました。 すべて SendKeys で、実際の私のPC環境そのままの内容を記述し てますが、適当に書き直してみてください。 Sub AAA()  Dim Fol  Fol = "C:\_MyFiles\My Pictures"  Shell "C:\Z_Program\Graphic\Viewer\IrfanView\i_view32.exe", 1  AppActivate "IrfanView"  SendKeys "%(FO)", True  SendKeys Fol, True  SendKeys "%O", True End Sub

myst_hiro
質問者

お礼

まずは、ご回答お礼申し上げます。 SendKeysでキーボード入力以外の内容を送ること、考えては見ましたが記述方法が分からずあきらめていました。ネットで色々調べるうちに 難しいほうへ誘われ、参照設定・CreateObject関数など初心者の私には未知の世界。VBAの本も買いましたがそれらしき内容は有った物の 求めていた物ではなく・・・。最後の頼みとここへ質問し、目からの鱗の回答に感動すら覚えました。お陰様で半分諦めていた物が本日完成し ました。本当に有り難うございました。

その他の回答 (1)

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

ChDir の前に、ChDrive でドライブを指定して下さい。 ChDrive "C\:" ' "C:\test" でも可 ChDir "C:\test" Application.Dialogs(xlDialogOpen).Show

関連するQ&A

専門家に質問してみよう