我目前正在开展一个项目,要求我编写一个(看似无穷无尽的)系列宏来重现由我们的分析师设计的数据透视表。细节发生了变化,但代码在示例与示例之间基本相同。
我想基于一些选项以编程方式生成vba代码,然后将宏添加到给定的工作表中。是否可以使用win32com或其他方法使用python创建excel宏?是否可以从另一个excel宏创建一个excel宏?还有其他想法吗?
项目背景,我有一个python脚本,它执行以下操作:
答案 0 :(得分:1)
是的,您可以使用其他Excel宏创建Excel宏。为此,您需要告诉Excel信任对VBA项目对象模型的访问权限。 (该设置位于信任中心的“宏选项”中。)我不知道您是否可以从Python中执行此操作,但如果可以,您可能还需要告诉Excel它没问题。
为了便于编码,如果您在Excel中执行此操作,请添加对 Micorsoft Visual Basic for Applications可扩展性的引用。
您可能还想查看MZ-Tools 3.0我发现将默认\公共代码添加到项目中非常有用。
另一方面,您的项目听起来已经成熟,可以重用代码。如果公共数据透视表代码在一个类/模块中,则很容易将其从一个打开的Excel项目复制到另一个。 (只需在项目浏览器窗口中单击并拖动即可。)您也可以将其导出到文本文件,然后将其导回到另一个项目中。