【VBA】Windowsのコマンドを実行する

VBAからWindowsのコマンドを実行することが
出来ます!

ここでは
 ・コマンドプロンプト画面は非表示
 ・コマンドを同期実行
するサンプルコードを記載します!

VBAコード

コマンドを
 ・コマンドプロンプト画面は非表示
 ・同期実行
します。

ここでいう「同期実行」の具体的な意味は、「コマンドの処理完了後にVBAへ制御が返ってくるように実行」です。

例として、デスクトップ配下にフォルダ「folder001」を作成するコマンドを実行します。

'変数の宣言を必須
Option Explicit

Sub sample()

    Dim command As String
    Dim wsh As Object
    
    'コマンドを指定
    command = "mkdir C:\Users\user\Desktop\folder001"
    
    Set wsh = CreateObject("WScript.Shell")
    
    'コマンドを同期実行
    wsh.Run "%ComSpec% /c " & command, vbHide, True
    
    '後片付け
    Set wsh = Nothing
    
End Sub

「wsh.Run」の引数について補足します。

「%ComSpec%」・・・コマンドプロンプトの実行ファイルのパスを示します。
「/c」・・・・・・・・Cドライブを示します。Cドライブ以外の指定も可能です。
「vbHide」・・・・・・コマンドプロンプト画面を非表示にします。
「True」・・・・・・・コマンドを同期実行します。

実行結果

デスクトップ配下にフォルダ「folder001」が作成されました。

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