首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Openpyxl保存启用宏的(.xlsm)问题。Excel抛出一个错误并开始修复工作簿。

使用Openpyxl保存启用宏的(.xlsm)问题。Excel抛出一个错误并开始修复工作簿。
EN

Stack Overflow用户
提问于 2020-10-01 11:51:38
回答 2查看 1.2K关注 0票数 2

我需要定期更新启用宏的excel工作簿。Openpyxl能够成功地读取、更新和保存文件,而不会出错。

但是,当试图在Excel中打开新保存的文件时,它会引发错误:“我们在XX.xlsm中发现了一些内容的问题。您想让我们尽可能地恢复吗?.单击是的。”

单击Yes后,开始修复文件,并移除一些关键部分,主要是/xl/ starts文件夹;

删除了部分:/xl/drawings/vmlDrawin10.vml部件。(绘图形状)删除功能:命名范围从/xl/workbook.xml部件(工作簿)删除记录:注释从/xl/ Comments /评论5.xml部件(注释)修复记录:从/xl/图纸/Draing1.xml部件(绘图形状)修复记录:绘图/xl/图纸/Draing2.xml部件(绘图形状)修复记录:从/xl/绘图/绘图/绘制3.xml部件(绘图形状)修复记录:绘图/xl/图纸/绘图4.xml部件(绘图形状)修复记录:从/xl/绘图/绘图5绘制.xml部件(绘图形状)修复记录:从/xl/素描/绘制6.xml部件(绘图形状)绘制修复记录:从/xl/drawings/draing7.xml部件(绘图形状)绘制修复记录:从/xl/素描/绘制8.xml部件(绘图形状)绘制修复记录:从/xl/素描/绘制9..xml部件(绘图形状)修复记录:从/xl/素描/绘制10.xml部件(绘图形状)记录:绘图来自/xl/修复记录: DRepaired记录:d

因此,除了python脚本更新的数据之外,其余的数据都被破坏了,我得到了#NAME?还有#价值!其他工作簿中的任何地方都有错误。

下面是代码的片段:

代码语言:javascript
运行
复制
path = 'XXX.xlsm'

from openpyxl import load_workbook
wb = load_workbook(path,keep_vba=True)

ws = wb['Input']

XXX
XXX

ws['I6'].value = date.today()


wb.save('XXX.xlsm')            
wb.close()

我不知道该怎么做。请帮我修复这个错误,或者建议一个替代方案,因为我真的需要这个来工作。谢谢!

EN

回答 2

Stack Overflow用户

发布于 2020-10-02 14:39:28

您可以先保存,然后再加载,最后保存。

代码语言:javascript
运行
复制
from openpyxl import Workbook, load_workbook
wb = Workbook()
wb.save('your_macro_wb.xlsm')
wb = load_workbook('your_macro_wb.xlsm', keep_vba=True)
wb.save('your_macro_wb.xlsm')
票数 1
EN

Stack Overflow用户

发布于 2022-05-23 19:41:40

打开excel文件时,我也有同样的问题。其中一个图形不见了。在我将openpyxl版本更新为3.0.10 (原始2.6)之后,问题就解决了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64154828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档