【发布时间】:2020-05-14 21:18:15
【问题描述】:
我有一个正在工作的 xlsm 文件 (Office 365)。我的宏做了很多事情,访问一些互联网页面,与 Access 数据库通信。我正在使用参考文献
VBA
Microsoft Excel 16.0 Object Library
OLE Automation
Microsoft Office 16.0 Object Library
Microsoft Scripting Runtime
Microsoft Internet Controls
Microsoft XML, v6.0
Microsoft Forms 2.0 Object Library
Microsoft ActiveX Data Object 2.8 Library
Also I am savinig my file on Onedrive folder.
问题是当我关闭文件并重新打开它时,会弹出一条消息说“我们发现'xxxxxxxx.xlsm'中的某些内容有问题。
您希望我们尽可能多地恢复吗?如果你相信 此工作簿的来源,请单击是。”
我单击“是”,控制开发人员对象从工作表(按钮)中消失,真正的问题是,当我打开 VBA 时,其中一个工作表变成了工作簿对象,并创建了一个内部没有代码的新工作表。
工作表变成了工作簿
我不知道可能是与引用冲突还是与 onedrive 服务器冲突。有人遇到过类似的问题吗?
编辑:我试图将所有代码复制到一个新的工作簿中,没有任何区别。重新打开文件时似乎已损坏,工作表转换为工作簿并创建了新工作表。
【问题讨论】:
-
我偶尔会看到这种情况:一旦发生,就无法恢复工作簿(至少根据我的经验) - 它已经以某种方式损坏。最好的办法是将所有代码和工作表复制到一个新文件中。
-
我试过但没用
-
如果这是在 onedrive 中,我认为您可以返回到损坏之前的版本?如果您可以恢复它,那么我将使用 .xlsb 格式:这似乎更可靠。 support.office.com/en-us/article/…
-
我做到了,但每次我执行它都会被卡住。正如我在帖子中分享的那样,我可以找到代码损坏文件的地方。谢谢