将参数从VBA传递给python
在VBA代码中,当python文件的path中没有空格时,我调用Python并成功传递参数:
Dim wsh As Object Set wsh = CreateObject("WScript.Shell") Dim shell_exec As Object Set shell_exec = wsh.Exec("C:\path_to_executable\python.exe " & "C:\path_without_spaces\file.py " & arg)
然而,当python文件的path包含空格时,我无法find任何方法将parameter passing给python。 例如,当没有参数时,三重双引号的path起作用:
Set shell_exec = wsh.Exec("C:\path_to_executable\python.exe " & """C:\path with spaces\file.py""")
但是当我这样做的时候,我无法find任何方法来传递一个论点。 例如,像这样的调用(以及我能想到的这个主题的每个变体)都会失败:
Set shell_exec = wsh.Exec("C:\path_to_executable\python.exe " & """C:\path with spaces\file.py """ & arg)
这是可能的,还是在这种情况下使用空间致命的模糊?
build议表示赞赏。
尝试使用多个引号:
Set shell_exec = wsh.Exec("""C:\path_to_executable\python.exe """ & """C:\path with spaces\file.py """ & arg)