python - 如何使用宏保存 XLSM 文件,使用 openpyxl

标签 python openpyxl xlsm

我有一个带有 功能的.xlsm 文件。我正在使用 openpyxl 加载它并将一些数据写入文件,最后想另存为不同的 .xlsm 文件。

为了将文件保存为 XLSM 文件,我在我的 Python 脚本中使用了以下代码。

wb.save('testsave.xlsm');

但如果我按上述方式保存,我将无法打开该文件。但是,如果我将其保存为 .xlsx,那么我可以在没有原始文件所具有的宏功能的情况下打开文件。

我想打开一个具有宏功能的 Excel 工作表,编辑文件并使用 openpyxl 将其另存为新的 .xlsm 文件。我该怎么做?

最佳答案

对我来说,这与版本 openpyxl==2.3.0-b2

一起工作
wb = load_workbook(filename='original.xlsm', read_only=False, keep_vba=True)
..
wb.save('outfile.xlsm')

它也在此处的文档中提到:http://openpyxl.readthedocs.org/en/latest/usage.html?highlight=keep_vba#write-a-workbook-from-xltm-as-xlsm

关于python - 如何使用宏保存 XLSM 文件,使用 openpyxl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17675780/

相关文章:

python - 函数内局部变量的生命周期(内存范围)

python - 在 python 中从 2D 点创建一个矩形网络/列表

python - 将字符转换为数据框中的数值

Python 复制特定行和列并更新现有模板文件

python - Openpyxl 优化单元格搜索速度

python - 如何使用Python更改Excel中的列格式

java - 使用 apache poi 通过流/分页策略将 xlsx 文件解析为 block

xlsm - 使用exceljs包npm读写xlsm文件