我目前正在为一个与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是否需要任何其他输入
任何帮助将不胜感激!
答案 0 :(得分:-1)
这是一个间接的答案,可以帮助你弄清楚可能出现的问题
在您的主文件中将您的程序放在main
函数中(您不 将其称为main ...您可以将其称为任何内容)
def main():
#do whatever
然后当你运行它时,如果它的主要执行此操作
if __name__ == "__main__":
try:
main()
finally:
raw_input("Hit enter To Close...")
即使存在未被捕获的错误,也可以保证您的窗口保持打开状态