• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA フォルダ内の複数Excelファイルを開く)

VBAでフォルダ内の複数Excelファイルを開く方法

このQ&Aのポイント
  • VBAを使用して、フォルダ内にある複数のExcelファイルを開く方法について質問です。
  • 問題点は、実行しているExcelファイルが開いたままになってしまうことです。
  • 解決策として、実行ファイルから開くExcelファイルに命令文または引数を記述する方法と、VBS(VBScript)を使用して実行ファイルを記述する方法が考えられます。

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

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

こんにちは。 http://www016.upp.so-net.ne.jp/cheetah/xlvba/Excel/Workbook/Workbook06.html に書いてある方法はどうでしょうか。Application.EnableEvents をFalseにするとイベントプロシージャを無効にできるようです。

参考URL:
http://www016.upp.so-net.ne.jp/cheetah/xlvba/Excel/Workbook/Workbook06.html
ken123
質問者

お礼

kotaro2014 さまご解答ありがとうございました。 EnableEventsとブックを閉じるタイミングを変更すればよかったのですね。。。助かりました。 余談ですが、VBSでもなんとか動作をできるまではなんとか仕掛っていたのですが、今度は、VBSからではアドインを立ち上げられないとかで困ってました。いずれ必要となるので、このあたりも解決しておきたかったのですが、意外とネットでもVBSの情報ってすくないですね。備えておきます(^^♪ 今後ともよろしくお願いします。 ありがとうございました

その他の回答 (1)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

> If FileName <> ThisWorkbook.Name Then があるから、 > Workbooks.Open (FileName) ←この処理の後に戻ってこれません ここには行かないのでは?

ken123
質問者

補足

bin-chan さま 早速のご解答ありがとうございます。 結論からすると、 > Workbooks.Open (FileName) ←この処理の後に戻ってこれません の処理は実行されています。 最初の > If FileName <> ThisWorkbook.Name Then は、 FileName = 開きたいファイル名 ThisWorkbook = この(実行)ファイル で不平等が成立して、次の  If OpenedBook.Name = FileName Then の平等が成立せず、End Ifへと渡ります。 そして、If IsBookOpen = False Thenは 先に変数IsBookOpen = Falseが代入されているので、 平等が成立して、Workbooks.Open (FileName)が実行されています。 当方では、このような実行処理状況です。

関連するQ&A