我找不到很多资源,但是我想让vba运行python脚本
Const pyScript = "C:\Test\Weekend_Exceptions\Weekend_Exception.py"
Dim dblRetVal As Double
dblRetVal = Shell("C:\Python34\python.exe " & pyScript)
我知道我的python脚本有效,应该输出一个文件,但不是。另外vba没有调试标志,所以我不确定我错在哪里。任何意见,将不胜感激。
答案 0 :(得分:2)
你没有提供太多细节,所以我会做出一些假设
可能你的python脚本读取了一些本地文件,这会导致你的脚本引发FileNotFoundError并退出
要使测试将整个arg字符串复制到Shell,在你的情况下" C:\ Python34 \ python.exe C:\ Test \ Weekend_Exceptions \ Weekend_Exception.py&#34 ;,用Win +打开一个cmd r,粘贴并运行,不在正确的目录中应该引发相同的错误。
如果出现此问题,请使用代码
制作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")
返回更多详细信息,以便我们处理解决方案
答案 1 :(得分:0)
这是我的做法:
@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