为什么我的Python脚本在Windows脚本主机运行方法上工作,而不是在Exec方法上工作

为什么我的Python脚本在Windows脚本主机运行方法上工作,而不是在Exec方法上工作,python,vba,shell,windows-scripting,Python,Vba,Shell,Windows Scripting,我有一个简单的Python脚本(“hi.py”),如下所示 我正在使用Excel VBA通过Windows脚本主机的运行方法调用“hi.py”(代码如下所示)。它可以正常工作 sub testRun() Dim wsh As Object Dim a As Variant Set wsh = CreateObject("WScript.Shell") a = wsh.run("C:\tmpFolder\pyProject\myProject\hi.py", 1,

我有一个简单的Python脚本(“hi.py”),如下所示

我正在使用Excel VBA通过
Windows脚本主机的运行方法调用“hi.py”(代码如下所示)。它可以正常工作

sub testRun()
    Dim wsh As Object
    Dim a As Variant

    Set wsh = CreateObject("WScript.Shell")
    a = wsh.run("C:\tmpFolder\pyProject\myProject\hi.py", 1, True)
End Sub
但是如果我使用的是
Windows脚本主机的Exec方法
而不是
Run方法
,我的计算机会说
hi.py不是有效的win 32应用程序

Sub testExec()
    Dim wsh As Object, oexec As Object

    Set wsh = CreateObject("WScript.Shell")
    Set oexec = wsh.exec("C:\tmpFolder\pyProject\myProject\hi.py")
End Sub
如何使用Windows脚本主机执行方法运行python脚本? 非常感谢。

方法
exec()
需要一个可以传递到命令行的字符串。请尝试
python C:\tmpFolder\pyProject\myProject\hi.py
python3 C:\tmpFolder\pyProject\myProject\hi.py
,就像您在
CMD.exe中键入它一样


wsh.exec
需要一个二进制可执行文件。Python文件既不是二进制文件,也不是可执行文件。有一些方法可以将Python文件编译成EXE。使用Google查找它们。@DYZ谢谢。我将用Google搜索类似于
py2exe
的东西。看看这个:我尝试
Python C:\tmpFolder\pyProject\myProject\hi.py
,但是在python窗口上看不到
HI
Sub testExec()
    Dim wsh As Object, oexec As Object

    Set wsh = CreateObject("WScript.Shell")
    Set oexec = wsh.exec("C:\tmpFolder\pyProject\myProject\hi.py")
End Sub