我已经在网上搜索了一段时间,没有找到解决这个问题的方法。
我继承了一个Excel工作簿,其中VBA代码不保护。我可以查看代码编辑代码,没有问题。但是,当试图运行代码时,我得到:
编译错误:找不到项目或库。
然后,我在VBE中进入Tools > References,并被提示输入一个VBAProject Password。
我的经验告诉我,有一个对其他VBAProject的引用集,它是密码保护的,而密码保护已经不再相关,或者至少它已经丢失了,但是我如何绕过这个密码错误来检查缺少的项目。
发布于 2016-10-14 16:30:11
虽然最终结果的答案可能没有那么普遍的帮助,但我认为我用来得到答案的方法可能对其他人有用。
我发现那个冒犯性的引用是
Name: ACRODISTXLib
FullPath: C:\Program Files (x86)\Adobe\Acrobat 10.0\Acrobat\acrodist.exe通常运行文件的citrix路径包含Acrobat。我的桌面安装了Adobe。
Acrobat还有两个其他参考资料:
Name: Acrobat
FullPath: C:\Program Files (x86)\Adobe\Acrobat 10.0\Acrobat\acrobat.tlb
Name: AcrobatAccessLib
FullPath: C:\Program Files (x86)\Adobe\Acrobat 10.0\Acrobat\plug_ins\Accessibility.api这些文件被很好地翻译成只有Reader安装的机器,如:
Name: Acrobat
FullPath: C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.dll
Name: AcrobatAccessLib
FullPath: C:\Program Files (x86)\Adobe\Reader 10.0\Reader\plug_ins\Accessibility.api第一次引用没有。
这是我用来比较每个环境中每个工作簿中的引用的代码,当我访问桌面上工作簿中的引用名称和完整路径时,我决定这样做:
Dim ref As Object
For Each ref In ThisWorkbook.VBProject.References
Debug.Print ref.Name & " | " & ref.fullpath
'If ref.isbroken Then
'ref.Remove
'ThisWorkbook.VBProject.References.Remove ref
'End If
Nexthttps://stackoverflow.com/questions/40047272
复制相似问题