VBA 工具 > 提示打开 ProjectPassword 的参考

VBA Tools>References Prompting for ProjectPassword to Open

我在网上搜索了一下,但没有找到解决方法。

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

Compile Error: Can't find project or library.

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

我的经验告诉我,有一个参考集指向其他一些受密码保护的项目,但不再相关,或者至少它丢失了,但我如何绕过这个密码错误来检查关于丢失的项目。

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

我发现违规引用是

Name: ACRODISTXLib
FullPath: C:\Program Files (x86)\Adobe\Acrobat 10.0\Acrobat\acrodist.exe

文件通常所在的 citrix 路径 运行 包含 Adob​​e Acrobat。我的桌面装有 Adob​​e Reader.

Adobe Acrobat 有 2 个其他参考资料:

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
Next