下面是一个简单的示例,使用pywin32库中的PythonWin模块实现在VBA中调用Python脚本并传递变量, 在Python中创建一个名为“example.py”的文件,其中包含以下代码:
import sys
def multiply(a, b):
return a * b
if __name__ == "__main__":
a = int(sys.argv[1])
b = int(sys.argv[2])
result = multiply(a, b)
print(result)
这个Python脚本接受两个整数作为输入,并将它们相乘后返回结果,在VBA中,可以使用以下代码来调用Python脚本并将变量传递给它:
Sub CallPythonScript()
Dim python As Object
Dim result As String
Dim a As Integer
Dim b As Integer
' Create Python object
Set python = CreateObject("Python.Win32")
' Define variables
a = 2
b = 3
' Call Python script and pass variables
result = python.ExecuteScript("C:\path\to\example.py", a, b)
' Display result
MsgBox result
End Sub