【发布时间】:2016-09-06 19:46:29
【问题描述】:
我需要从 vba 调用一个 python 脚本,使用 shell 可以正常工作。
Sub CallPythonScript()
Call Shell("C:\Program Files (x86)\Python27\python.exe C:\Users\Markus\BrowseDirectory.py")
End Sub
但是当我尝试使用 wsh(由于等待功能)时,它就不再起作用了。
Sub CallPythonScript()
Dim wsh As Object
Set wsh = VBA.CreateObject("WScript.Shell")
Dim myApp As String: myApp = "C:\Program Files (x86)\Python27\python.exe C:\Users\Markus\BrowseDirectory.py"
Dim waitOnReturn As Boolean: waitOnReturn = True
Dim windowStyle As Integer: windowStyle = 1
wsh.Run """"" & myApp & """"", windowStyle, waitOnReturn
End Sub
但是,我在家中使用了相同的代码,一切正常,不同之处在于路径中没有任何空白。所以很自然地,这些空白肯定有问题。非常感谢您的帮助。
【问题讨论】:
-
我怀疑它是否曾与该路径一起使用:路径中有空格。 wsh.Run 如何知道如何解析参数?在家里,
C:\python27肯定有 python。 -
没错,这就是我所说的“路径中没有任何空白”的意思。