- Python XlsxWriter 教程
- Python XlsxWriter - 主页
- Python XlsxWriter - 概述
- Python XlsxWriter - 环境设置
- Python XlsxWriter - 你好世界
- Python XlsxWriter - 重要类
- Python XlsxWriter - 单元格符号和范围
- Python XlsxWriter - 定义的名称
- Python XlsxWriter - 公式和函数
- Python XlsxWriter - 日期和时间
- Python XlsxWriter - 表格
- Python XlsxWriter - 应用过滤器
- Python XlsxWriter - 字体和颜色
- Python XlsxWriter - 数字格式
- Python XlsxWriter - 边框
- Python XlsxWriter - 超链接
- Python XlsxWriter - 条件格式
- Python XlsxWriter - 添加图表
- Python XlsxWriter - 图表格式
- Python XlsxWriter - 图表图例
- Python XlsxWriter - 条形图
- Python XlsxWriter - 折线图
- Python XlsxWriter - 饼图
- Python XlsxWriter - 迷你图
- Python XlsxWriter - 数据验证
- Python XlsxWriter - 大纲和分组
- Python XlsxWriter - 冻结和拆分窗格
- Python XlsxWriter - 隐藏/保护工作表
- Python XlsxWriter - 文本框
- Python XlsxWriter - 插入图像
- Python XlsxWriter - 页面设置
- Python XlsxWriter - 页眉和页脚
- Python XlsxWriter - 单元格注释
- Python XlsxWriter - 使用 Pandas
- Python XlsxWriter - VBA 宏
- Python XlsxWriter 有用资源
- Python XlsxWriter - 快速指南
- Python XlsxWriter - 有用的资源
- Python XlsxWriter - 讨论
Python XlsxWriter - VBA 宏
在 Excel 中,宏是记录的一系列步骤,可以使用快捷键重复任意次。录制宏时执行的步骤将被转换为编程指令 VBA(代表 Visual Basic for Applications)。VBA 是 Visual basic 语言的子集,专门用于自动执行 MS Office 应用程序(例如 Word、Excel、PowerPoint 等)中的任务。
MS Excel 的开发人员菜单中提供了录制宏的选项。如果没有看到此菜单,则必须通过转到“文件→选项→自定义”功能区屏幕来激活它。
如下图所示,进入“查看→宏→录制宏”,单击录制宏按钮,为宏指定合适的名称并执行要录制的所需操作。步骤完成后停止录制。分配所需的快捷方式,以便按下时可以重复录制的操作。
要查看 VBA 代码,请通过查看→ZMacros→查看宏来编辑宏。从宏名称中选择宏,然后单击编辑。
将显示 VBA 编辑器。删除Excel生成的所有步骤并添加弹出消息框的语句。
确认宏完美运行。按CTL+Shift+M,弹出消息框。使用.xlsm扩展名保存此文件。它内部包含vbaproject.bin,一个二进制 OLE COM 容器。要从 Excel 宏文件中提取它,请使用vba_extract.py实用程序。
(xlsxenv) E:\xlsxenv>vba_extract.py test.xlsm Extracted: vbaProject.bin
例子
现在可以使用add_vba_project()方法将此 vbaProject.bin 文件添加到 XlsxWriter 工作簿中。在此工作表上,将按钮对象放置在 B3 单元格中,并将其链接到我们已经创建的宏(即Macro1)
import xlsxwriter workbook = xlsxwriter.Workbook('testvba.xlsm') worksheet = workbook.add_worksheet() worksheet.set_column('A:A', 30) workbook.add_vba_project('./vbaProject.bin') worksheet.write('A3', 'Press the button to say Welcome.') worksheet.insert_button( 'B3', { 'macro': 'macro1', 'caption': 'Press Me', 'width': 80, 'height': 30 } ) workbook.close()
输出
执行上述代码时,将创建名为 testvba.xlsm 的启用宏的工作簿。打开它并单击按钮。这将导致弹出消息框,如图所示。