Excel 2016能够将带有宏的工作簿保存为.xls,但在保存为.xlsm和.xlsb时检测到错误



我遇到一个问题,某些包含宏和条件格式的工作簿(.XLSM(无法正确保存在我的Windows 10计算机上。我还无法确定是什么引发了这个问题。。。

在尝试保存哪怕只是一个小的更改(eh:向空单元格添加1(时,我遇到了以下错误:

保存到"my_path"时检测到错误。Microsoft Excel可能能够通过删除或修复某些功能来保存文件。制作在新文件中进行修复,请单击"继续"。为了取消保存文件,单击"取消"。

如果我尝试继续选项,我会遇到更多错误:

Excel在保存过程中遇到错误。然而,Excel能够最低限度地将文件保存到my_path。

即使是"修复"的文件也无法保存。所有更改基本上都丢失了(除非使用我在最后描述的临时解决方案(

奇怪的是,这似乎只发生在我自己的机器上。关于这个案例的其他一些细节:

  • Office 2016-Excel 32位
  • Windows 10 21H1
  • 已应用所有更新
  • 卸载和重新安装Office 2016后也会出现同样的行为
  • 使用Microsoft的独立删除工具卸载后会出现相同的行为
  • Excel安全模式下的相同行为
  • 禁用外接程序和COM外接程序时的相同行为
  • 无论文件/保存路径是本地(C:\path(还是在网络驱动器上,行为都相同
  • 使用新文件名保存时的行为相同
  • 保存/导出到.xlsx、.xlsb(和.xlsm(时的行为相同
  • 其他Windows计算机上不会出现错误

保存文档的唯一方法似乎是将文件保存为.xls.

为什么会出现这种情况?我的特定Office安装可能会出现什么问题?

感谢您的另一个回答,其中提到了对日期格式的怀疑。事实上,我一直在尝试,直到我注意到地区环境的差异。在使用欧洲格式的Excel工作表,同时在美国值之后使用区域设置之间,似乎存在错误。

显然,问题可能来自List seperator=,;

要检查您是否是这种情况,请在Windows 10搜索栏中键入设置区域格式>其他日期、时间&区域设置>地区。具有的格式显示在"格式"选项卡中。

现在,如果您转到附加设置并查看列表分隔符,注意到您使用的两个区域之间存在差异,这可能是问题的根源。

为了解决这个问题,我将Region格式返回给了一个欧洲国家,一切都恢复了正常。

三个对我有用的解决方案:

  1. 依次双击VBA工程中的每个模块,不做任何更改,尝试保存。这解决了我的问题大部分时间
  2. 在VBA编辑器中,选择"工具">选项,选择常规选项卡,取消选中按需编译。尝试运行任何子并更正任何编译器错误,即使是在不再使用的子上。我使用Option Explicit,但在模块中我发现了一个不符合Option Explict的旧"测试"子,我从不使用该子,所以我的宏中没有错误,但修复问题或删除有问题的子允许保存文件
  3. 当Windows对.NET进行后台更新时,出现"文档未保存"错误-重新启动后该错误已清除

至于根本原因,我不知道是什么原因,但我对日期格式的更改持怀疑态度。

相关内容

  • 没有找到相关文章

最新更新