首页 > 解决方案 > 如何通过 VBA Excel 宏运行 python 脚本?

问题描述

我正在尝试通过在 Excel VBA 上运行宏来运行 python 脚本。以下是宏代码:

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

    Dim PythonExe As String
    PythonExe = """C:\Users\X\X\python3.exe""" 

    Dim PythonScript As String
    PythonScript = """C:\Users\Filename.py"""  

    objShell.Run PythonExe & " " & PythonScript

End Sub

python脚本如下:

import pandas as pd

def getExcel():
   df = pd.read_excel("Location where excel is saved")
   print(df)

if __name__ == "__main__":
   getExcel()
   input("Press any key to exit")

当我运行宏时,命令行会出现几秒钟然后消失。它不运行代码。

为了调试,我尝试运行一个简单的 python 脚本(它不包含 pandas 数据框 - 然后宏代码完美运行并且脚本也被执行)。但是,一旦我为 pandas df 编写代码-它就停止工作了。

PS Pandas 已经保存并更新到我系统上的最新版本。

请帮忙!

标签: pythonpandasvbadataframe

解决方案


推荐阅读