2017-08-09 26 views
0

我遇到了我在其中一个办公室为excel开发的工具的问题。这是一个足够大的文件,里面有几个宏,但是它每天都很流畅。什么原因导致'找不到项目或库错误'以及如何防止它发生?

但是每隔几天文件都会通过错误'找不到项目或库',文件会崩溃。我知道标准指南是,当出现此错误时,它将转至vba>工具>引用并取消选中缺少的库,但这里不是这种情况。只要发生这种情况,文件崩溃并重新启动,如果它会发生一次,则每次尝试打开文件都会导致崩溃时出现相同的错误。我的意思是文件可以非常好,你会保存它,回到它并发生错误。因此,我总是必须恢复完全破坏它的文件,但我至少可以从中恢复用户上传的信息并将其复制到模板中。

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

2问题是有什么可以做,以防止这种错误发生。

回答

0

这为我工作:

在VB中去工具»参考 1)取消选中库‘水晶分析公共控件1.0’。或任何图书馆。 1)Visual Basic For Applications(这是定义VBA语言的库) 2)Microsoft Excel对象库(这定义了Excel的所有元素。) 3)OLE自动化(这指定了链接和嵌入文档的类型,以及其他应用程序的自动化类型以及Excel用于与外部世界进行通信的COM系统的“管道”。)4)Microsoft Office(这定义了所有Office诸如命令栏和命令栏控件之类的程序。) 5)Microsoft Forms 2.0如果使用用户表单,则这是必需的。这个库定义了诸如用户表单和可以放置在表单上的控件等内容。 然后保存。

+0

这是否阻止了这个错误的发生?我没有选择“Crystal Analysis Common Controls 1.0”,所有其他选择的都与您的相同,除了最后一个,但没有使用用户表单。 –

0

我有过类似的讨厌问题。

首先要做的就是用CodeCleaner a free utility from AppsPro 这将导出的模块,然后重新导入它们,因为它们在内部得到了很多二进制“皮棉”这可能会导致问题。

建议的第二件事是开始分解你的代码库。因此,开始删除模块以查看哪个模块是违规者。可怕的是我知道,但你怎么知道问题出在哪里。

第三个建议是始终完全限定您的功能。因此,而不是Len(sMyString)写入VBA.Len(sMyString),它有助于防止错误的编译错误。

+0

嗯..我看到..但问题是,该工具可能会工作绝对好几天,错误将发生无处不在,我不知道是什么触发它,所以不能真正地测试它,就像...和导出和重新导入模块的好处是什么?这是在错误发生之后还是之前完成的?由于之后不会导致文件崩溃。 –

+0

从AppsPro链接'在创建VBA程序的过程中,大量垃圾代码会在您的文件中生成。如果您不定期清理文件,您将开始遇到由此额外行李造成的奇怪问题。清理项目涉及将其所有VBComponent的内容导出为文本文件,删除组件,然后将组件从文本文件中导回。 –

相关问题