我找不到很多资源,但我正试图让vba运行python脚本
Const pyScript = "C:\Test\Weekend_Exceptions\Weekend_Exception.py"
Dim dblRetVal As Double
dblRetVal = Shell("C:\Python34\python.exe " & pyScript)
我知道我的python脚本工作,应该输出一个文件,但事实并非如此。另外vba没有触发调试标志,所以我不确定我错在哪里。任何意见,将不胜感激。
你没有给出太多细节,所以我会做一些假设
可能你的python脚本读取了一些本地文件,这将导致你的脚本引发FileNotFoundError并退出
要使测试将整个arg字符串复制到Shell,在您的情况下为“C:\ Python34 \ python.exe C:\ Test \ Weekend_Exceptions \ Weekend_Exception.py”,打开一个带有Win + r的cmd,粘贴并运行,而不是在正确的目录中应该引发相同的错误。
如果这是问题,请使用代码制作makestuff.bat文件
@echo off
@cd C:\Test\Weekend_Exceptions\
@C:\Python34\python.exe Weekend_Exception.py
@echo on
然后从Shell调用bat(“C:\ Place \ of \ your \ bat \ makestuff.bat”)
返回更多详细信息,我们致力于解决方案
我是这样做的:
@echo off @h: @cd H:\Path\Cronus\Rangers @C:\Python3\python.exe File2.py @echo on
请注意,File2.py位于H:\ Path \ Cronus \ Rangers文件夹中。这就是我们之前需要打开它的原因。
Option Compare Database Function MacroPythonSARH() On Error GoTo MacroPythonSARH_Err Call Shell("H:\Path\Cronus\Rangers\File1.bat", 1) MacroPythonSARH_Exit: Exit Function MacroPythonSARH_Err: MsgBox Error$ Resume MacroPythonSARH_Exit End Function