我在XLStart
文件夹中有一些xla和xll文件。在C#中,我想找出当前加载的插件。
使用Globals.ThisAddIn.Application.AddIns
无法访问这些插件,但我从here找到了此Globals.ThisAddIn.Application.VBE.VBProjects
。使用Globals.ThisAddIn.Application.VBE.VBProjects
的问题在于它没有列出我的所有xla和xll文件。
列出从XLStart
文件夹加载的所有插件的任何想法?
答案 0 :(得分:1)
默认情况下,从XLSTART目录加载的任何Excel文件(包括加载项)都不属于Addins
集合。
从XLSTART加载的加载项文件将在VBE中可见,但由于它是加载项,因此该文件在Excel中不可见,并且在Workbooks
集合中无法枚举。 / p>
枚举VBE项目是一种方法,但它需要在用户的Excel安全设置下访问VBE,并且在检查项目时,您需要知道保存/未保存,受保护/不受保护的项目以及那些项目这是其他项目引用的项目。
但是,仅仅因为Workbooks集合不会枚举不可见的加载项并不意味着它们不是 in {{1}收集。
如果您知道要查找的加载项的名称,可以使用:
Workbooks
因此,如果您枚举XLSTART目录中的文件名,然后检查:
ThisAddIn.Application.Workbooks.get_Item("MyAddin.xlam")
对于每个文件,您将知道加载了哪些XLSTART文件。