VBAから
・コマンドプロンプトのコマンドを実行
できます!
ここでは
・コマンドプロンプト画面は非表示
・コマンドを同期実行
する方法を記載します!
コマンドの実行結果も
取得できます!
※正常終了の場合、実行結果は「0」になります。
※異常終了の場合、実行結果は「1」になります。
VBAコード
ここでは例として
・コマンド「mkdir C:\Users\user\Desktop\folder001」を
・コマンドプロンプト画面は非表示で
・同期実行
します。
※「mkdir」コマンドを実行して「フォルダを作成」します。
'変数の宣言を必須
Option Explicit
Sub excePromptCmd()
Dim execCommand As String
Dim wsh As Object
Dim result As Integer
'実行するコマンドを指定
execCommand = "mkdir C:\Users\user\Desktop\folder001"
Set wsh = CreateObject("WScript.Shell")
'コマンドを同期実行
result = wsh.Run(command:="%ComSpec% /c " & execCommand, WindowStyle:=0, WaitOnReturn:=True)
If (result = 0) Then
MsgBox ("コマンドは正常終了しました。")
Else
MsgBox ("コマンドは異常終了しました。")
End If
'後片付け
Set wsh = Nothing
End Sub
実行結果
コマンドプロンプトのコマンドを実行できました。
※「mkdir」コマンドの実行により、デスクトップ配下にフォルダ「folder001」が作成されました。
参考①
上記のVBAコードで使用した「WScript.Shell」の「Run」についての詳細は、公式サイトをご確認ください。
参考②
VBAで
・バッチファイルを実行
することもできます。
詳細は以下の記事をご確認ください。
参考③
VBAで
・コマンドプロンプトの実行結果を取得
することもできます。
詳細は以下の記事をご確認ください。
参考④
VBAで
・PowerShellファイルを実行
することもできます。
詳細は以下の記事をご確認ください。
参考⑤
VBAで
・VBScriptファイルを実行
することもできます。
詳細は以下の記事をご確認ください。
参考⑥
逆に
・バッチファイルからVBAを実行
することもできます。
詳細は以下の記事をご確認ください。
参考⑦
逆に
・Power ShellファイルからVBAを実行
することもできます。
詳細は以下の記事をご確認ください。
参考⑧
逆に
・VBScriptファイルからVBAを実行
することもできます。
詳細は以下の記事をご確認ください。