VBAから複数のバッチファイルを実行する際に、1つの処理が終了するまで
VBAから複数のバッチファイルを実行する際に、1つの処理が終了するまで次の処理を待機させる方法について
こんにちは。VBA初心者です。
Shell関数を使って複数のバッチを連続して実行するプログラムを書きたいのですが、前のバッチ処理が終了する前に次のバッチが実行されてしまいエラーになってしまいます。
1つのバッチ処理が終了するまで、次の処理を待機させるようなことは可能でしょうか。
具体的には、B列に「test_01.txt」「test_02.txt」... といったファイル名が入力されていて、隣のA列に何らかの文字/記号があった場合は、指定されたバッチ(ファイル名.bat)が実行されるということをやりたいと考えています。
以下のようなプログラムを書いてみましたが、実行するバッチが複数になるとうまくいきせん。
どうしたら問題を回避できるか、ご教示いただけないでしょうか。
よろしくお願いします。
Sub バッチを実行()
i = 7 'リストの開始行
Const myPath As String = "D:\sample_batch\"
Const endPath As String = ".bat"
For i = 7 To 200 '7行目から200行目まで実行
If Cells(i, 1).Value <> "" Then
Shell (myPath & Cells(i, 2).Value & endPath)
End If
Next
End Sub
お礼
回答ありがとうございます。 早速使ってみました。プログラムを実行して、バッチ処理→Windows終了ではなく、[スタート]-[Windowsの終了]で意識せずに実行できれば完璧なんですが・・・。 そのようになソフトは、やはり無いのですかね?