我想从Excel VBA启动Python脚本。我有这个
Sub RunPython()
Dim PythonExe As String, PythonScript As String, PythonArgs As String
Dim objShell As Object
PythonExe = "C:\MyProgs\Python\Python37\python.exe"
PythonScript = "c:\scripts\Python\test.py"
PythonArgs = "1 1"
Set objShell = VBA.CreateObject("Wscript.Shell")
objShell.Run PythonExe & " " & PythonScript
'objShell.Run PythonExe & " " & PythonScript & " " & PythonArgs
End SubPython脚本的编写方式是在命令行上接受参数,或者在没有提供参数的情况下提示用户。第一个objShell.run ...工作时,它启动脚本并等待用户输入。第二个objShell.run ...不起作用。外壳会闪现,仅此而已。如果我直接从命令行调用python脚本,如下所示
test.py 1 1脚本起作用了。
那么,如何使用VBA将参数传递给脚本呢?最终,我希望从Excel工作表中读取这两个参数并传递它们。
发布于 2020-09-14 02:19:14
我想通了。在Python脚本中,我从位置参数切换到可选参数。因此,我需要像这样发送参数
PythonArgs = "--arg1 1 --arg2 1"https://stackoverflow.com/questions/63873954
复制相似问题