• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ExcelのChDirで二つのフォルダを指定しても一つめしか認識しない)

ExcelのChDirで二つのフォルダを指定しても一つめしか認識しない

このQ&Aのポイント
  • ExcelのChDirを使用して二つのフォルダを指定しても、一つ目のフォルダしか認識されません。
  • ChDirを使用してフォルダを切り替え、ファイルの選択と保存を行うExcelマクロにおいて、二つのフォルダを指定しても、コピー先のフォルダとしては一つ目のフォルダが表示される問題が発生します。
  • ExcelのChDirを使用してフォルダを切り替える際に、コピー先のフォルダとして指定したいフォルダが表示されない場合、どのように対処すればよいでしょうか。

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

  • ベストアンサー
  • jcctaira
  • ベストアンサー率58% (119/204)
回答No.1

ChDirは使用せずに、以下のように「InitialFileName」プロパティをセットすると思われます。 Dim 開く As FileDialog Set 開く = Application.FileDialog(msoFileDialogOpen)   開く.InitialFileName = "C:\A\" If 開く.Show = -1 Then       : Dim 保存 As FileDialog Set 保存 = Application.FileDialog(msoFileDialogSaveAs)   保存.InitialFileName = "C:\B\" If 保存.Show = -1 Then       :

niftynejp
質問者

お礼

早速のご回答、ありがとうございます。 やってみたところ、うまくいきました。 本当に助かりました。 今後ともよろしくお願いいたします。 ちなみに、参考までにお聞きしたいのですが ChDirが1回しか使えないというのは なぜなのでしょう。 みなさんは滅多に使わないのですか? わたしはこれしか知らなかったため 別の方法が発想できませんでした…

その他の回答 (1)

  • jcctaira
  • ベストアンサー率58% (119/204)
回答No.2

> ちなみに、参考までにお聞きしたいのですが > ChDirが1回しか使えないというのは > なぜなのでしょう。 Application.FileDialogは「ChDir」の影響はないような【仕様】だと思います。 確かに最初の一度だけ「ChDir」で「InitialFileName」が暗黙的に指定されたような 動きをしますね。 でもそれ以降オブジェクトをリセット(Set 開く = Nothing)しても、「ChDir」は 影響されず、最初だけの「ChDir」が残っているようです。 私は仕事で「FileDialog」は使用したことがないので、詳しくはありません。 説明できず申し訳ありません。 とにかく【仕様】通りに使うことをお勧めします。

niftynejp
質問者

お礼

改めてありがとうございます。 おかげさまで納得できました。 職場でのトラブルでしたので 明日、早速使わせていただきます。 これからも何かありましたら よろしくお願いいたします。

関連するQ&A

専門家に質問してみよう