gpt4 book ai didi

python - 通过 Excel VBA 运行 Python 脚本

转载 作者:行者123 更新时间:2023-12-04 19:48:56 28 4
gpt4 key购买 nike

我在从 Excel VBA 运行 python 脚本时遇到问题。这是 VBA 代码:

Sub RunPython()

Dim objShell As Object
Dim PythonExe, PythonScript As String
Set objShell = VBA.CreateObject("Wscript.Shell")
PythonExe = """C:\Users\carlo\AppData\Local\Microsoft\WindowsApps\python3.exe"""
PythonScript = """C:\Users\carlo\Desktop\MSc_Thesis\ML applications\BlackBox\BlackBoxAbsorbers.py"""
objShell.Run PythonExe & PythonScript

End Sub

python代码如下。

print("hello")
input("hello, press enter")

当我运行 VBA 时,python 执行器打开但它立即关闭而没有实际执行脚本。换句话说,"hello""hello, press enter" 都不会出现在 python executer 窗口中,该窗口突然关闭。

我确定 python.exe 和 python 脚本的路径是正确的。我用 """""" 都试过了,在这两种情况下都不起作用。显然( super 简单!)如果我直接从 python 执行器运行 python 脚本,它就可以工作。

最佳答案

解决了!!我不明白为什么,但是拆分 objShell.Run PythonExe 和 objShell.Run PythonScript 效果很好!像那样:

Public Sub RunPython()    
Dim objShell As Object
Set objShell = VBA.CreateObject("Wscript.Shell")

Dim PythonExe As String
PythonExe = """C:\Users\carlo\AppData\Local\Microsoft\WindowsApps\python3.exe"""

Dim PythonScript As String
PythonScript = """C:\Users\carlo\Desktop\MSc_Thesis\ML applications\BlackBox\BlackBoxAbsorbers.py"""

objShell.Run PythonExe
objShell.Run PythonScript

End Sub

无论如何谢谢@Pᴇʜ,我会把你的回答评为积极的,因为你一直很友善!!

关于python - 通过 Excel VBA 运行 Python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68312525/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com