gpt4 book ai didi

python - 如何在excel外执行vba宏

转载 作者:太空狗 更新时间:2023-10-30 02:16:03 25 4
gpt4 key购买 nike

我有一个 Excel 电子表格,其中包含大量 VBA 和包含一个按钮的宏。

如何在 excel 之外从 python(例如)在 Excel 中执行 VBA 代码(特别是单击按钮并触发其 onclick 事件)?

注意:我愿意接受不同语言的回答,例如 C++、C# 或 Java;但是,到目前为止,我更喜欢在 python 中使用它们,因为它可以更顺畅地与我的 python 应用程序的其余部分连接。

注意 2:我可能需要使用可用的 python excel 库之一使用 python 操作 excel 电子表格

版本号:

Microsoft Excel Office 365 Version 1708 Build 8431.2079
python 2.7

最佳答案

您可以使用 win32com 库通过 Python 与 COM 对象交互。您可以使用 pip 安装 win32com 库。至少我就是这样做的。从本质上讲,您并不是在单击工作表上的按钮,而是调用 VBA 代码中嵌入的子例程在工作表上运行。

此外,我为此使用了 Python 3.6,但我相信 Python 2.7 应该是兼容的。这是一个基本大纲。

安装 Win32Com

打开命令提示符并输入:

pip install pypiwin32

代码

import win32com.client as win32

excel = win32.Dispatch("Excel.Application") # create an instance of Excel
#excel.Visible = 1 #Uncomment this to show Excel working through the code
book = excel.Workbooks.Open(Filename=r'C:\YourBookHere.xlsm')
excel.Run("YourBookHere.xlsm!Sheet1.MacroName") # This runs the macro that is on Sheet1
book.Save()
book.Close()
excel.Quit()

希望这对您有所帮助,这是我的第一篇文章。编辑:稍微清理一下

关于python - 如何在excel外执行vba宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46374578/

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