如何在同一个实例中打开另一个工作簿的VBA项目的属性?

时间:2014-07-25 02:32:42

标签: excel vba excel-vba

我想编写一个函数来取消保护VBA项目的工作簿,该工作簿在与具有此功能的工作程序相同的实例中打开。我试图在this answer中修改Siddharth Rout的代码,但我无法弄清楚如何为我感兴趣的VBProject启动特定的VBA属性窗口解锁。

作为测试,我试图遍历实例中的VBProjects以查看哪个对应于所需的工作簿,然后打开该项目的VBA Properties窗口:

Sub findVBProj()    

Dim prj As VBProject
Dim correctPrj As VBProject


For Each prj In Application.VBE.VBProjects
    If prj.filename = "C:\Users\xyz\Desktop\testUnlock.xlsm" Then
        Set correctPrj = prj
    End If
Next

correctPrj.VBE.CommandBars(1).FindControl(id:=2578, recursive:=True).Execute

End Sub

但是这并没有为correctPrj启动VBA属性窗口,因此会触发密码提示;相反,它打开包含包含findVBProj()的模块的项目的属性窗口,这是有道理的,因为在运行findVBProj()时选择了该模块。如何使correctPrj的属性窗口打开?

0 个答案:

没有答案