所以我不得不在我的电脑上运行别人的excel应用程序,而且我在日期,格式,十六进制,中等等标准函数上找到“找不到项目或库”。
一些研究表明,如果我用“VBA”为这些函数添加前缀。就像在“VBA.Date”中一样,它会正常工作。
网页建议它与我的系统上的项目引用有关,而它们必须在开发人员的系统上正常。我将在一段时间内与其他人讨论此问题,并将这些应用程序分发给其他人,因此我需要了解我需要修复的excel设置有什么问题,或者需要更改的内容。 xls文件,以便它可以在各种系统上运行。我想避免让每个人都使用“VBA”。作为一个明确的参考,但如果没有理想的解决方案,我认为这是我们必须做的。
- 亚当
答案 0 :(得分:59)
如果缺少对完全不同的库的引用,我在标准函数上看到了错误。
在VBA编辑器中,从菜单中启动Compile命令,然后检查References对话框以查看是否有任何遗漏,如果有,请尝试添加这些库。
通常,编译完整的VBA代码然后在分发之前保存文档似乎是一种好习惯。
答案 1 :(得分:29)
我遇到了同样的问题。这对我有用:
答案 2 :(得分:15)
我遇到了这个确切的问题,发现在用户计算机上,我所依赖的其中一个库在引用对话框中被标记为“MISSING”。在这种情况下,我的Office 2007版本中提供了一些办公室字体库,但客户端桌面上却没有。
你得到的错误是一个完整的红色鲱鱼(正如divo指出的那样)。
幸运的是我没有使用库中的任何内容,所以我能够完全从XLA引用中删除它。我想,divo的扩展'建议的最佳做法是测试在所有目标Office版本上检查XLA(在任何情况下都不是一个坏主意)。
答案 3 :(得分:9)
就我而言,该功能是AMBIGUOUS,因为它是在VBA库(存在于我的参考文献中)中定义的,也是在Microsoft Office对象库(也存在)中定义的。我删除了Microsoft Office对象库,瞧!无需使用VBA。前缀。
答案 4 :(得分:5)
就我而言,我什至无法在Visual Basic窗口中打开“参考”。我什至尝试重新安装Office 365,但没有成功。最后,我尝试在“信任中心”设置中禁用宏。当我重新启动Excel时,我收到警告消息,宏被禁用,并且当我单击“启用”时,我不再收到错误消息。
稍后,我重新启用了“信任中心”设置中的所有宏,并且错误消息没有显示!
嘿,如果没有其他适合您的方法,请尝试上面的方法;它为我工作! :)
更新: 问题又回来了,这就是我第二次“修复”它的方法:
:我在在线Excel 中打开了工作簿(在浏览器中,Office 365仍然不支持宏),并用新文件名保存了该工作簿(仍使用.xlsm文件扩展名),并在桌面软件中重新打开。有效。
答案 5 :(得分:0)
在我的情况下,我正在家中检查我的办公室计算机上安装的工作(安装了Visio)(没有Visio)。尽管VBA似乎被挂在简单的默认函数上,但问题是我对Visio库的引用仍处于活动状态。
答案 6 :(得分:0)
我找到了对AVAYA / CMS程序文件的引用?完全随机,这是在MS Access中,与AVAYA无关。我的PC上确实有AVAYA,而其他人没有,所以这解释了为什么它在我的计算机上而不是其他机器上可以工作-但Access却没有与AVAYA链接的原因。无论如何-我只是取消了引用,似乎已经解决了问题
答案 7 :(得分:0)
即使所有引用都正确,前缀问题也会导致编译错误。
如何为所有模块中的所有“内置VBA函数”创建查找和替换子项, 像这样:
例如“ =日期”将替换为“ = VBA.Date”。
例如“ Date(”将替换为“ VBA.Date(”。
(不包括“按日期更改”或“ mydate”)
所有用于查找和替换的vba函数都写在这里:
答案 8 :(得分:-1)
我在多个XLSM文件中打开和关闭此错误已有大约两年的时间(这很烦人,因为它发生时文件没有问题!-我怀疑孤立的Excel进程是问题的一部分)
我发现的最有效的解决方案是将Python与oletools结合使用
https://github.com/decalage2/oletools/wiki/Install
并提取所有模块的VBA代码并保存在文本文件中。
然后,我仅将文件重命名为zip文件(以防万一,备份!),打开该zip文件并删除xl / vbaProject.bin文件。重命名为XLSX,应该很好。
复制保存的VBA代码(这需要清除换行符,注释和其他内容。还需要添加缺少的库。
这在没有其他方法的情况下救了我。
YMMV。