【VBA】引数を渡してファイルを実行する

VBAで引数を渡してファイルを実行するにはShell関数とChr関数を使用します。

下記のような引数を1つ受け取ってその引数を表示するPythonのargtest.exeを用意します。

1import sys
2
3print(sys.argv[1])
4input("Enterを押すとプログラムを終了します")

今回はxlsmと同じファイルにargtest.exeを置いて引数を渡してexeを実行してみます。

引数を渡してファイルを実行するコードは以下になります。

1Option Explicit
2Sub callExeWithVariable()
3
4  Shell ThisWorkbook.Path & "\argtest.exe " & Chr(34) & "Hello!" & Chr(34)
5  
6End Sub

exeのあとに半角スペースがありますので入れ忘れないように気をつけてください。
渡したい引数(今回の場合であればHello!)をChr(34)で囲んで、文字列結合します。

コードを実行すると、引数”Hello!”を渡してargtest.exeを実行します。

関連ページ