什么原因导致“找不到项目或库错误”,以及如何防止其发生?

18 浏览
0 Comments

什么原因导致“找不到项目或库错误”,以及如何防止其发生?

我在我们办公室开发的Excel工具上遇到了问题。这是一个相当大的文件,里面有几个宏,但日常使用时一切都很顺利。

然而,每隔几天,文件就会出现“找不到项目或库”的错误,并导致文件崩溃。我知道标准指导是当出现这个错误时,需要进入vba>工具>引用,然后取消选中缺失的库,但在这里并不适用。一旦出现这种情况,文件就会崩溃并重新启动,如果发生一次,再次打开文件的任何尝试都会导致相同的错误和崩溃。我的意思是,文件可能完全正常,你保存它,再回来打开就会出现错误。因此,我总是不得不恢复文件,这会完全破坏它,但至少我可以从用户上传的信息中恢复并将其复制到模板中。

所以我有两个问题:是什么导致这种情况发生?我和其他办公室都使用相同版本的Excel,所以兼容性不应该是问题。

第二个问题是是否有办法防止这个错误发生。

0
0 Comments

这是我的解决方法:

在VB中,点击“工具” » “引用”

1)取消选中“Crystal Analysis Common Controls 1.0”或其他库。

只保留以下5个引用:

1)Visual Basic For Applications(定义VBA语言的库)

2)Microsoft Excel Object Library(定义Excel的所有元素)

3)OLE Automation(指定链接和嵌入文档以及自动化其他应用程序的类型,以及Excel用于与外部世界通信的COM系统的“管道”)

4)Microsoft Office(定义所有Office程序共有的功能,如命令栏和命令栏控件)

5)Microsoft Forms 2.0(如果使用用户窗体,则需要此库。该库定义用户窗体和可以放置在窗体上的控件)

然后保存。

这样做是否停止了出现此错误?我没有选择“Crystal Analysis Common Controls 1.0”,而且所有其他选中的库与您的相同,除了最后一个,因为我不使用用户窗体。

0
0 Comments

‘找不到项目或库错误’是由于VBA文件中的二进制“垃圾代码”导致的。可以通过使用AppsPro提供的CodeCleaner工具来解决这个问题。CodeCleaner可以导出VBA模块,并重新导入它们,以清除这些垃圾代码。此外,还可以尝试将代码分解为模块,并逐个移除模块以确定出现错误的模块。另外,建议始终完全限定函数。例如,使用VBA.Len(sMyString)来代替Len(sMyString),这有助于防止虚假的编译错误。需要注意的是,CodeCleaner工具可能在几天内正常工作,然后错误会突然出现,因此无法准确测试。导出和重新导入模块的好处是清理VBA文件中的垃圾代码,避免因此导致的问题。在AppsPro的链接中提到,清理项目涉及将所有VBComponents的内容导出到文本文件中,删除这些组件,然后从文本文件中重新导入组件。

0
0 Comments

在使用Excel时,有时会遇到“找不到项目或库错误”的问题。这个问题通常在以下情况下发生:当Excel崩溃或电脑断电时,使用了Power Query和链接数据的文件可能会受到损坏。一旦出现这个错误,就会导致一个无法修复的循环。

解决这个问题的方法有两种:

1. 在另一台不在局域网中的电脑上打开该文件,并使用一个新的名称保存文件。然后将新文件移回工作电脑,这样文件就可以再次正常打开。

2. 使用Excel Online打开文件,然后保存为一个新的文件名。再在桌面软件中打开新文件,这样也可以解决问题。

在某些情况下,如果使用了Power Query,还需要在保存新文件之前刷新所有数据连接。

另外,有时候通过在Excel Online中打开文件,将其保存为新文件名(仍使用.xlsm文件扩展名),然后在桌面软件中重新打开,也可以解决问题。

这些方法可以解决“找不到项目或库错误”的问题,并且有时候还可以减小文件的大小。

0