VBAで引数を渡してファイルを実行するには
Shell関数とChr関数を使用します。
下記のような引数を1つ受け取って
その引数を表示するPythonのargtest.exeを用意します。
1 2 3 4 |
import sys print(sys.argv[1]) input("Enterを押すとプログラムを終了します") |
今回はxlsmと同じファイルにargtest.exeを置いて
引数を渡してexeを実行してみます。
引数を渡してファイルを実行するコードは以下になります。
1 2 3 4 5 6 |
Option Explicit Sub callExeWithVariable() Shell ThisWorkbook.Path & "\argtest.exe " & Chr(34) & "Hello!" & Chr(34) End Sub |
exeのあとに半角スペースがありますので
入れ忘れないように気をつけてください。
渡したい引数(今回の場合であればHello!)を
Chr(34)で囲んで、文字列結合します。
コードを実行すると、引数”Hello!”を渡してargtest.exeを実行します。
コメント