ITサポーターTsuchida

VBA Advance6

第6章 バッチファイルの起動

VBAからシェルスクリプトを利用するときに最もよく使うのがバッチファイルの起動です。バッチファイル名だけ変えれば、いろんなことができるので、以下の記述がテンプレートになります。

①オブジェクト変数の定義

Dim wsh As Object
Dim batFile As String

②シェルスクリプトのオブジェクト変数へのセット

Set wsh = CreateObject("WScript.Shell")

③シェルスクリプトの使用(アプリやバッチファイルの起動)

batFile = "c:\Data\test.bat"
wsh.Run batFile, 1, True

④オブジェクト変数の解放

Set wsh = Nothing

③wsh.Run batFile, 1, True 1はバッチファイル起動画面の表示です。非表示にしたい場合は0になります。 Trueはバッチファイルの終了待ちをします。終了待ちにしないと次の命令に進んでしまいます。

気をつけていただきたいのは、バッチファイルの画面を非表示にしたのに、バッチファイルでpauseコマンドで応答待ちにすることです。バッチファイルの画面を非表示では応答できないので、この組み合わせにしないよう注意してください。