是否有可能创build/编辑从Python的Excelmacros?

我目前正在开发一个项目,这个项目需要我编写一个(看似无止境的)一系列macros来复制由我们的分析人员devise的数据透视表。 细节发生了变化,但是从示例到示例的代码基本相同。

我想编程生成基于less数选项的vba代码,然后将macros添加到给定的工作表。 是否有可能使用win32com或其他创build一个Excelmacros? 是否有可能从另一个Excelmacros创build一个Excelmacros? 任何其他的想法?

项目背景,我有一个Python脚本,执行以下操作:

  • 拉取谷歌分析数据
  • 做各种分析
  • 将结果写入excel
  • 触发一个预先写好的macros,将数据转换成一个精美格式的数据透视表
  • 通过电子邮件发送给可能没有真正阅读的人

是的,您可以使用另一个Excelmacros创buildExcelmacros。 为此,您需要将Excel信任访问VBA项目对象模型。 (该设置位于信任中心的macros选项中。)我不知道你是否可以用Python做,但是如果可以的话,你可能也需要告诉Excel它没问题。

为了便于编码,如果您在Excel中执行此操作,请添加一个参考Micorsoft Visual Basic for Applications Extensibility

您可能还想看看MZ-Tools 3.0我发现它非常有用的添加默认\通用代码到一个项目。

另一方面,您的项目听起来已经熟悉代码重用。 如果公共数据透视表代码位于一个类/模块中,则将其从一个打开的Excel项目复制到另一个类中是非常容易的。 (只需在“项目浏览器”窗口中单击并拖动即可。)也可以将其导出到文本文件,稍后将其导回到另一个项目。