我正在尝试像这样在 excel VBA 中运行 python 脚本:
Shell("python " & ActiveWorkbook.Path & "\CreateVolsurface.py -d ""10 Sep 12""")
但它什么也没做。如果我查看任务管理器,甚至不会创建 python 进程。如果我调试并复制上面代码中创建的字符串并将其粘贴到命令提示符中,它会完美运行。
python 脚本将日期(作为字符串)作为参数并创建图像文件。
知道为什么这不起作用或如何调试它吗?
我也试过这个:
Shell ("python CreateVolsurface.py -d ""10 Sep 12""")
还有这个:
ret_val = Shell("python " & ActiveWorkbook.Path & "\CreateVolsurface.py -d ""10 Sep 12""", vbHide)
但他们也什么都不做。
问题是shell()
在 vba 中启动 cmd.exe 在它的默认文件夹中,而不是在当前工作簿的活动文件夹中。在我的 python 脚本中,我有相对路径引用,这是一个问题。为了解决这个问题,我在我的 python 脚本中使用 os 模块在开始时更改当前目录。