在excel中调用Python脚本作为可执行文件

时间:2014-11-21 00:07:41

标签: python excel vba shell exe

我目前正在为一个与python 2.7和excel 2013连接的客户端开发一个工具,因此会遇到问题。

作为背景,我有一个我想作为可执行文件运行的python代码。客户端在他们的计算机上没有python,因此exe运行时没有.py是至关重要的。我已经使用py2exe将脚本从.py转换为.exe。然后我试图用VBA调用.exe。当宏运行时,看起来它会启动命令提示一秒钟,但它不会运行.exe。当我进入目录并双击.exe但它运行正常并输出我想要的内容。

以下是我在VBA中的代码:

Dim folderPath As String
folderPath = Application.ActiveWorkbook.Path
ChDir folderPath

Dim stAppName As String
stAppName = folderPath & "\dist\MAT.exe"
Call Shell(stAppName, 1)

不确定我的Shell是否需要任何其他输入

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:-1)

这是一个间接的答案,可以帮助你弄清楚可能出现的问题

在您的主文件中

将您的程序放在main函数中(您不 将其称为main ...您可以将其称为任何内容)

def main():
   #do whatever

然后当你运行它时,如果它的主要执行此操作

if __name__ == "__main__":
    try:
       main()
    finally:
       raw_input("Hit enter To Close...")

即使存在未被捕获的错误,也可以保证您的窗口保持打开状态