【Excel VBA】Pyinstallerで作成したexeファイルをマクロから実行する方法

Excel
スポンサーリンク

最近Pyinstallerで作成した.exeファイルをマクロから実行させる、ということがあったのでそのやり方を備忘録も兼ねて残しておきたいと思います。

スポンサーリンク

コード

VBAから.exeファイルを実行するにはShellを使用します。

Sub python_Exe_実行()
    
    Dim target_Path             As String
    Dim id                      As Long
    
    '.exeファイル格納パスを指定
    target_Path = "C:\Python\Python_test\test_Exe.exe"
    
    '.exeファイルを実行する
    id = Shell(target_Path)
    
End Sub

以下がtest_Exe.exeのベースになる.pyファイルになります。

#test_Exe.exeのベースになる.pyファイル(test_Exe.py)

print("はりぼな ブログ")
input("Enterを押して閉じてください。")

.exe化に以下コマンドを使用しています。

pyinstaller C:\Python\Python_test\test_Exe.py --onefile

実行するとtest_Exe.exeが実行されます。

スポンサーリンク

引数も指定する場合

引数も指定する場合はパスの後ろに半角ブランクを入力し、その後ろに値を指定すると引数を渡すことができます。

Sub python_Exe_実行_引数()
    
    Dim target_Path             As String
    Dim target_Parameter        As String
    
    Dim id                      As Long
    
    '.exeファイル格納パスを指定
    target_Path = "C:\Python\Python_test\test_Exe_Parameter.exe"

    '引数
    target_Parameter = "こんにちは!はりぼなブログです!"
    
    '格納パスの後ろに半角ブランクを付けて引数を指定
    id = Shell(target_Path & " " & target_Parameter)
    
End Sub

以下がtest_Exe_Parameter.exeのベースになる.pyファイルになります。
なお、引数を受け取る為にimport syssys.argv[1]を使用しています。

#test_Exe_Parameter.py

import sys

print(sys.argv[1])

input("Enterを押して閉じてください。")

実行すると指定した引数が表示されます。

スポンサーリンク

まとめ

今回はPyinstallerで作成した.exeファイルをマクロから実行する方法を紹介しました。
下記手順で作成~実行させることができるので、是非参考にしていただければと思います。

  1. .pyファイルを作成
  2. pyinstaller.exeファイルを作成
  3. Shell.exeファイルを実行

このブログではVBAに関する記事を不定期で投稿していますので、是非ご覧ください!

コメント

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