我目前正在从事一个项目,该项目要求我编写一系列(看似无穷无尽的)宏来重现我们的一位分析师设计的数据透视表。细节有所变化,但代码在各个示例中基本相同。
我想根据一些选项以编程方式生成 vba 代码,然后将宏添加到给定的工作表中。是否可以使用 win32com 或其他方式使用 python 创建 excel 宏?是否可以从另一个 excel 宏创建一个 excel 宏?还有其他想法吗?
项目背景,我有一个执行以下操作的 python 脚本:
- 提取谷歌分析数据
- 做各种分析
- 将结果写入excel
- 触发预先编写的宏将数据转换为格式精美的数据透视表
- 通过电子邮件将其发送给可能实际上并未阅读它的人
最佳答案
是的,您可以使用另一个 Excel 宏创建一个 Excel 宏。为此,您需要告诉 Excel 信任对 VBA 项目对象模型的访问。 (该设置可在信任中心的宏选项中找到。)我不知道您是否可以从 Python 执行此操作,但如果可以,您可能还需要告诉 Excel 没问题。
为了便于编码,如果您在 Excel 中执行此操作,请添加对 Microsoft Visual Basic for Applications Extensibility 的引用。
您可能还想查看 MZ-Tools 3.0我发现将默认\通用代码添加到项目中非常有帮助。
另一方面,您的项目听起来适合代码重用。如果通用数据透视表代码在一个类/模块中,那么将它从一个打开的 Excel 项目复制到另一个项目真的很容易。 (只需在 Project Explorer 窗口中单击并拖动即可。)您还可以将其导出为文本文件,稍后再将其导回另一个项目。
关于python - 是否可以从 python 创建/编辑 excel 宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9913603/