我有一个带有宏功能的.xlsm文件。我正在使用openpyxl加载它,并将一些数据写入文件,最后希望另存为一个不同的.xlsm文件。
为了将文件保存为XLSM文件,我在Python脚本中使用了下面的代码。
wb.save('testsave.xlsm');
但如果我按上述方式保存,我就无法打开该文件。但如果我将其保存为.xlsx,则可以在不使用原始文件的宏函数的情况下打开该文件。
我想打开一个具有宏功能的Excel工作表,编辑文件并使用openpyxl将其保存为新的.xlsm文件。我该怎么做?
Tags:
对我来说,这和版本
openpyxl==2.3.0-b2
一起工作在这里的文档中,它也是mentioend:http://openpyxl.readthedocs.org/en/latest/usage.html?highlight=keep_vba#write-a-workbook-from-xltm-as-xlsm
没错,openpyxl不能读写VBA代码。
根据this thread:
改为尝试this fork:如果您将
keep_vba=True
参数传递给load_workbook
,它就应该完成这项工作。希望能有所帮助。
我不知道这是否仍然是相关的人提出的问题,但我正在处理同样的问题,并找到了一个可能的解决方案。
1.xlsm
)并使用openpyxl执行魔术2.xlsx
xlsx
文件的目录:其中一个文件是宏(vbaProject.bin
),其中两个文件是必需的,因为它们描述了文件的类型等xlsx
目录的所有文件放回zip文件中,并将其从zip
重命名为xlsm
。此文件包含原始宏,并已使用openpyxl
进行编辑2.xlsx
文件。示例代码:
相关问题 更多 >
编程相关推荐