python - 有没有办法使用 python 修改现有的 xlsm 文件?

标签 python excel vba openpyxl

我有一个 xlsm 文件,我遇到了通过使用 openpyxl 或 xlw 创建新文件来修改文件的各种方法。有什么方法可以修改我当前的文件,而不必每次都创建一个新文件?

from openpyxl import workbook
wb = openpyxl.load_workbook(filename = 'filename', read_only =    False, keep_vba = True)
sheet = wb.get_sheet_by_name('UI')
wb.save('outfile.xlsm')

但是,我不想每次运行代码时都创建一个新文件,只想修改我当前的文件,但 openpyxl 与 .xlsm 类型的文件不兼容?

有没有办法做到这一点?

最佳答案

OpenPyXL 2.6.2 确实支持 xlsm 文件。只需覆盖您现有的工作簿。

import openpyxl
wb = openpyxl.load_workbook(filename = 'filename.xlsm', read_only = False, keep_vba = True)
sheet = wb['UI']
wb.save('filename.xlsm')

关于python - 有没有办法使用 python 修改现有的 xlsm 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56192289/

相关文章:

python - 访问嵌套字典中的值

excel - 如何定位和删除单元格中的多个部分

vba - Excel 在运行时另存为

python - 多线程Python应用程序的远程调试

python - PyCharm 认为 int/float 没有实现 __div__ 的那一天

excel - 检索组件的 COM 类工厂失败

excel - Excel 的 VBA UDF 变得有值(value)!在另一个 UDF 上使用 hidden = true 之后

vba - 满足条件时运行 VBA 宏

VBA - 更改修改文本的颜色

python - 如何接受来自 pygame GUI 的文本输入