VBAからPythonを実行する方法
VBAからPythonを実行する方法はいくつかありますが、ここでは主に2つの方法を紹介します。
方法1: WshShellオブジェクトを使用する
この方法では、VBAからコマンドプロンプトを操作してPythonを実行します。以下にその手順を示します。
Dim wsh As WshShell
Set wsh = CreateObject("WScript.Shell")
py_file = ThisWorkbook.Path & "\Python.py"
cmd_str = "python " & py_file
Set wExec = wsh.Exec("%ComSpec% /c " & cmd_str)
方法2: テキストファイルを中間ファイルとして使用する
この方法では、VBAとPython間で値を双方向で受け渡すことが可能になります。以下にその手順を示します。
Dim fso As FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateTextFile(フルパス)
PythonからVBAへの戻り値の取得
PythonからVBAへの戻り値を取得するには、Pythonの標準出力を読み取ることで可能です。以下にその手順を示します。
Do While wExec.Status = 0
DoEvents
Loop
Range("D6").Value = Val(wExec.StdOut.ReadAll)
以上がVBAからPythonを実行し、戻り値を取得する方法です。これらの方法を活用することで、VBAとPythonの連携がよりスムーズになります。