OneDrive破坏了启用宏的文件



我们在一些启用宏的文件中遇到了问题。由于安装了OneDrive,一些实例的文件随机损坏。

在谷歌上搜索这个问题,我发现其他一些人也有同样的问题(例如https://answers.microsoft.com/en-us/msoffice/forum/all/onedrive-repeatedly-corrupting-macro-enabled/385043f9-4d1d-4502-89da-f3ee3c92f8d7),但他们都没有找到解决方案,甚至根本原因。

.xlsx文件似乎没有损坏,所以这让我认为有一个问题,当OneDrive保存文件,同时一些代码正在运行,例如Worsheet_ChangeWorkbook_BeforeSave宏。

任何想法?除了不使用OneDrive。

编辑:

在另一个论坛有人建议在手动模式下计算然后保存可能会有问题。好吧,这是一个很小的机会,但我要添加一个

Application.CalculateBeforeSave = False

前的每一行

Application.Calculation = xlCalculationManual

有什么想法吗?除了不使用OneDrive。

我有同样的问题。如果我在OneDrive运行时编辑Excel Macro-Enabled工作表,则Excel文件会损坏。

当我发现这个问题时,我禁用了OneDrive在Windows下自动启动。

我定期使用第三方软件进行自动备份,只有在需要同步时才启用OneDrive。然后退出OneDrive。

这违背了使用OneDrive的目的,但我的组织使用OneDrive,这是我必须防止损坏重要Excel文件的最安全的选择。

另一个节省我时间的选择是手动或通过VBA自动创建Excel文件版本。例如

MySpreadsheet v01.00,MySpreadsheet v01.01,MySpreadsheet v01.02 .etc

这节省了我好几次的工作。如果文件损坏了,我可以回到最近的版本。(微软建议使用OneDrive内置的版本历史记录来恢复文件,但不可靠。)

直到今天,OneDrive在运行时仍然会导致文件损坏,我读过的微软论坛帖子都没有修复。

我认为它不是直接OneDrive,而是当你启用文件协作时。我还在为客户查个水落石出但好像有线索了。我使用OneDrive同步,但在早期有文件损坏的问题,所以大约在两年前禁用了文件协作,从那以后一直没有使用它。我没有xlsb或xlsx文件与OneDrive同步的问题,但客户端确实如此。唯一的区别(检查了所有内容的版本)是文件协作设置。MS需要在这里启用一个选项来禁用此设置中的某些文件类型或文件名。它可以打开或关闭,如果你需要它做很多事情,如果它破坏了启用宏的Excel文件,就会变得非常困难

最新更新