我已经阅读了有关此问题的所有在线问题,但似乎没有一个对我有用。我想在VBA中编写代码,这样当按下按钮时,我在Python中的代码会自动开始运行。
我在运行代码时遇到找不到文件的错误,但是我检查了路径,并且知道它是正确的。
我正在尝试的代码是:
Sub MyMacro()
Shell("C:/Users/RGilsburg/New folder/pythonw.exe" & "F:/Asset/Global/Port/untitled1.py")
End Sub
谁能告诉我错误在哪里?
答案 0 :(得分:0)
shell命令应该可以运行,但是,要执行的命令存在一些问题:
"
中。如果要在VBA中的字符串中包含引号字符,则必须将其加倍。基本上,Shell
的参数应该与您在命令提示符下输入的参数相同。要对此进行检查,请将命令写入字符串变量,然后将其写入立即窗口(Ctrl + G)。从那里复制它,并将其粘贴到CMD
窗口中。
尝试
Dim python as string, script as string, cmd As String
python = """C:\Users\RGilsburg\New folder\pythonw.exe"""
script = "F:\Asset\Global\Port\untitled1.py"
cmd = python & " " & script
Debug.print cmd
Shell cmd
答案 1 :(得分:0)
这可能让我有点无知,因为我对python几乎一无所知,但是对vba却一无所知,但是您是否在vba编辑器中添加了python作为参考。
如果不是
转到vba编辑器中的工具下拉列表,选择引用,看看是否可以找到python。