VBA 工具>引用提示打开项目密码



我在网上搜索了一下,没有找到解决这个问题的方法。

我继承了一个Excel工作簿,其中VBA代码不受保护。我可以查看/编辑代码没有问题。然而,当尝试运行代码时,我得到:

编译错误:Can't find project or library.

然后转到VBE中的Tools > References,并提示输入VBAProject Password

我的经验告诉我,有一个参考集到其他一些VBAProject是密码保护不再相关,或者至少它是缺失的,但是我怎么能绕过这个密码错误来检查缺失的项目。

虽然最终结果答案可能不是那么普遍有用,但我认为我用来获得答案的方法可能对其他人有用。

我发现有问题的引用是

Name: ACRODISTXLib
FullPath: C:Program Files (x86)AdobeAcrobat 10.0Acrobatacrodist.exe

文件通常运行的citrix路径包含adobeacrobat。我的桌面安装了adobereader。

adobeacrobat有两个其他参考:

Name: Acrobat
FullPath: C:Program Files (x86)AdobeAcrobat 10.0Acrobatacrobat.tlb
Name: AcrobatAccessLib 
FullPath: C:Program Files (x86)AdobeAcrobat 10.0Acrobatplug_insAccessibility.api

这些可以很好地翻译为只安装了Reader的机器:

Name: Acrobat
FullPath: C:Program Files (x86)AdobeReader 10.0ReaderAcroRd32.dll
Name: AcrobatAccessLib
FullPath: C:Program Files (x86)AdobeReader 10.0Readerplug_insAccessibility.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
Next

最新更新