【VBA】VBScriptファイルを同期実行する

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

PR

VBScriptのコード

ここでは例として、
 ・「VBScriptからのメッセージ出力です!」というメッセージを出力する
 ・「test.vbs」を作成
します。

test.vbsの内容
test.vbsの内容
MsgBox("VBScriptからのメッセージ出力です!")
PR

VBAのコード

ここでは例として、
 ・上記で作成したVBScriptのファイル「test.vbs」を
 ・同期実行
します。
※ここでは作成したVBScriptのファイル「test.vbs」をデスクトップ配下に配置しています。

'変数の宣言を必須
Option Explicit

Sub execBatch()

    Dim vbsFile As String
    Dim wsh As Object
    
    '実行するVBScriptファイルを指定
    vbsFile = "C:\Users\user\Desktop\test.vbs"
    
    Set wsh = CreateObject("WScript.Shell")
    
    'VBScriptファイルを同期実行
    Call wsh.Run(vbsFile, WaitOnReturn:=True)
    
    '後片付け
    Set wsh = Nothing
    
End Sub

Run」メソッドの引数「WaitOnReturn」に「True」を指定することで、同期実行になります。
※「False(規定値)」を指定すると同期実行になります。

ここでいう「同期実行」とは、
 ・VBScriptファイルの処理完了後にVBAへ制御が返ってくるように実行
という意味です。
※VBScriptファイルの処理が完了するまでは、VBAの処理は停止して先に進みません。

PR

実行結果

VBScriptファイルを同期実行できました。

実行結果
実行結果
PR

参考①

VBAでバッチファイルを実行することもできます。

詳細は以下の記事をご確認ください。

PR

参考②

VBAでコマンドプロンプトのコマンドを実行することもできます。

詳細は以下の記事をご確認ください。

PR

参考③

VBAでPowerShellファイルを実行することもできます。

詳細は以下の記事をご確認ください。

PR

参考④

逆に、VBScriptからVBAを実行することもできます。

詳細は以下の記事をご確認ください。

タイトルとURLをコピーしました