> (3)VBAでDOSコマンドを実行→Excelファイルを開く
VBA を使える環境にあって、何故 DOSコマンドなのでしょうか?
単純に起動用のブックをつくれば良いだけでは?
「マクロを有効にする?」の警告ダイアログが表示されるのは、手動操作
によってブックを開くときのみです。
VBA や WHS からマクロ付きブックを開いても警告ダイアログは表示されず、
サクっと開くはずですが・・
動かしたいものが Workbook_Open とか Auto_Open などの自動実行マクロ
ということなら、シンプルにこんな感じで。
Sub Sample()
Dim xlWb As Workbook
Dim i As Integer
For i = 1 To 100
Set xlWb = Workbooks.Open("C:\Test" & Cstr(i) & ".xls")
' Auto_Open 等のマクロが自動実行される
' その自動実行マクロが完了するまで、こちら側は待機
xlWb.Close SaveChanges:=True
Next i
Set xlWb = Nothing
End Sub
上記コードは Excel VBA ですが、WSH でも同じことは可能でしょう。
ただ、処理の内容にもよるかもしれません。
非同期処理(マクロが完了しても Excel が動き続けている処理。代表的
なものは Webクエリー絡み)が含まれる場合は、上記の方法では全ての
Excel の動作が完了する前にブックを閉じてしまうかもしれません。
対処法としては別プロセスの Excel 側でブックを開くようし、
WaitForInputIdle API を使って同期をとれば良いかと思います。
お礼
Excelから他ブックをOPENさせた時の挙動を 検証せずダイアログボックスが表示される事とばかり に決め付けていました 有難う御座います、試して見ます。