将参数从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)