【问题标题】:Is it possible to save Excel .xlsm file?是否可以保存 Excel .xlsm 文件?
【发布时间】:2026-02-01 16:15:01
【问题描述】:

我正在制作一个 Python 程序,它可以使用 VBA 打开、编辑和保存 xlsm Excel 文件。但是,在wb.save(filename = 'b.xlsm') 这一行中,出现了以下错误:lxml.etree.XMLSyntaxError: Opening and ending tag mismatch: br line 19 and b, line 20, column 12。

我必须编辑并保存 xlsm 文件。

import openpyxl

wb = openpyxl.load_workbook(filename = 'a.xlsm', keep_vba = True)
ws = wb.active

ws.cell(1,1).value = 'test'
print(ws.cell(1,1).value)

wb.save(filename = 'b.xlsm')

【问题讨论】:

  • 你的代码对我有用,你能在 excel 中打开 a.xlsm 吗?
  • 文件是否包含表单对象?
  • 是的,a.xlsm 包含表单对象。
  • openpyxl 不适用于表单对象,xlwings 可以这样做,但必须安装 excel 并在 Windows 和 macOS 上运行
  • 请包含完整的回溯。

标签: python excel vba openpyxl


【解决方案1】:

我猜你的代码的另一部分有问题,因为这不是 20 行,而且代码本身在我的机器上运行得很好 :) 根据错误代码,你只是在某处缺少了一个括号

【讨论】:

  • 这是我的全部代码。我制作了这个示例代码,然后我将制作另一个代码。
最近更新 更多