
VBAから
・VBScriptファイルを
・同期実行する
方法を記載します!

VBScriptファイルの実行結果も
取得できます!
VBScriptのコード
ここでは例として、
・「VBScriptからのメッセージ出力です!」というメッセージを出力する
・「test.vbs」を作成
します。
MsgBox("VBScriptからのメッセージ出力です!")
'正常終了の場合、戻り値として「0」を返す
WScript.Quit(0)
'異常終了の場合、戻り値として「1」を返す
'WScript.Quit(1)

VBAのコード
ここでは例として、
・上記で作成したVBScriptのファイル「test.vbs」を
・同期実行
します。
※ここでは先程作成したVBScriptのファイル「test.vbs」をデスクトップ配下に配置しています。
'変数の宣言を必須
Option Explicit
Sub execBatch()
Dim vbsFile As String
Dim wsh As Object
Dim result As Integer
'VBScriptファイルのパスを指定
vbsFile = "C:\Users\user\Desktop\test.vbs"
Set wsh = CreateObject("WScript.Shell")
'VBScriptファイルを同期実行
result = wsh.Run(command:=vbsFile, WaitOnReturn:=True)
If (result = 0) Then
MsgBox ("VBScriptファイルは正常終了しました。")
Else
MsgBox ("VBScriptファイルは異常終了しました。")
End If
'後片付け
Set wsh = Nothing
End Sub
実行結果
VBScriptファイルを同期実行できました。


参考①
VBAでバッチファイルを実行することもできます。
詳細は以下の記事をご確認ください。
参考②
VBAでコマンドプロンプトのコマンドを実行することもできます。
詳細は以下の記事をご確認ください。
参考③
VBAでPowerShellファイルを実行することもできます。
詳細は以下の記事をご確認ください。
参考④
逆に、VBScriptからVBAを実行することもできます。
詳細は以下の記事をご確認ください。