是否可以从python创建/编辑excel宏?

时间:2012-03-28 18:32:51

标签: python excel vba com

我目前正在开展一个项目,要求我编写一个(看似无穷无尽的)系列宏来重现由我们的分析师设计的数据透视表。细节发生了变化,但代码在示例与示例之间基本相同。

我想基于一些选项以编程方式生成vba代码,然后将宏添加到给定的工作表中。是否可以使用win32com或其他方法使用python创建excel宏?是否可以从另一个excel宏创建一个excel宏?还有其他想法吗?

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

  • 提取Google Analytic数据
  • 进行各种分析
  • 将结果写入excel
  • 触发预先编写的宏,将数据转换为格式精美的数据透视表
  • 将电子邮件发送给可能实际上没有阅读过的人

1 个答案:

答案 0 :(得分:1)

是的,您可以使用其他Excel宏创建Excel宏。为此,您需要告诉Excel信任对VBA项目对象模型的访问权限。 (该设置位于信任中心的“宏选项”中。)我不知道您是否可以从Python中执行此操作,但如果可以,您可能还需要告诉Excel它没问题。

为了便于编码,如果您在Excel中执行此操作,请添加对 Micorsoft Visual Basic for Applications可扩展性的引用。

您可能还想查看MZ-Tools 3.0我发现将默认\公共代码添加到项目中非常有用。

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