- 帮助搞清楚如何通过当前打开的Excel插件文件迭代(.xla)使用还没有被注册在Excel中
Tools > Add-ins
菜单路径。 - 更具体地说,我对没有出现在加载项对话框中但有
ThisWorkbook.IsAddin = True
的任何工作簿感兴趣。
演示该问题:
通过工作簿试图循环如下与.AddIn = True
没有得到工作簿:
Dim book As Excel.Workbook
For Each book In Application.Workbooks
Debug.Print book.Name
Next book
通过加载项循环没有得到加载项是未注册:
Dim addin As Excel.AddIn
For Each addin In Application.AddIns
Debug.Print addin.Name
Next addin
通过VBProjects集合循环工作,但只有当用户具有特定信任访问Visual Basic项目中的宏安全设置 - 这是很少:
Dim vbproj As Object
For Each vbproj In Application.VBE.VBProjects
Debug.Print vbproj.Filename
Next vbproj
但是,如果工作簿的名称是已知的,工作簿可以直接不管它是一个加载项中引用或不:
Dim book As Excel.Workbook
Set book = Application.Workbooks("add-in.xla")
但到底如何让参照本工作簿,如果名字不知道,和用户的宏安全设置不能依靠?
谢谢!这在4年前会非常有用:P接受你的回答,因为我接受的答案太过于粗鲁。 – jevakallio 2013-01-17 20:49:18