带Python库的Excel中可用的COM加载项的提取列表

问题描述

我正在尝试建立一个每月刷新一系列Excel文档的过程。此过程的一部分将需要刷新Excel加载项中的数据(在我的情况下,这是一个名为SmartView的加载项)。

我找不到有关如何获取pywin32模块可访问的加载项列表的任何信息。有没有办法访问和迭代加载项列表?

如果您知道加载项的名称,这就是我所知道的方法

import win32com.client as win32

xl = win32.gencache.Ensuredispatch('Excel.Application')

helloWorldAddIn = xl.COMAddIns("HelloWorld") # HelloWorld is the name of my AddIn.

解决方法

Application.COMAddIns实际上是COMAddIn对象的集合,因此您可以遍历可用加载项的列表,例如:

import win32com.client as win32

xl = win32.gencache.EnsureDispatch('Excel.Application')

for addin in xl.COMAddIns:
    print(addin.description)