- Python XlsxWriter 教程
- Python XlsxWriter - 首页
- Python XlsxWriter - 概述
- Python XlsxWriter - 环境设置
- Python XlsxWriter - Hello World
- 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 代码,请通过转到“视图→宏→查看宏”来编辑宏。从宏名称中选择宏,然后点击“编辑”。
将显示 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 的宏启用工作簿。打开它并点击按钮。它将导致消息框弹出,如所示。
广告