![](/img/trans.png)
[英]Release Installer Object after using comtypes.client.CreateObject()
[英]word = comtypes.client.CreateObject('Word.Application') generates error
导入comtypes.client
word = comtypes.client.CreateObject('Word.Application')
获取错误:
回溯(最近一次通话最后):
文件“”,第 1 行,在 word = comtypes.client.CreateObject('Word.Application')
文件“C:\ProgramData\Anaconda3\lib\site-packages\comtypes\client_init _.py ”,第 250 行,在 CreateObject return _manage(obj, clsid, interface=interface)
文件“C:\ProgramData\Anaconda3\lib\site-packages\comtypes\client_init _.py ”,第 188 行,在 _manage obj = GetBestInterface(obj)
文件“C:\ProgramData\Anaconda3\lib\site-packages\comtypes\client_init _.py ”,第 112 行,在 GetBestInterface interface = getattr(mod, itf_name)
AttributeError:模块“comtypes.gen.Word”没有属性“_Application”
大多数网站似乎 state 认为这不应该发生???
此问题是由 Windows 注册表中不正确的 COM 互操作设置引起的。
(不是 python 或其库)
我已经使用“comtypes”和“win32api”以及多个 MS Office 版本对此进行了测试。
对 COM 对象的调用似乎存在问题,
关于一些 MS Office 版本。
单击开始菜单并打开控制面板
单击卸载程序(或在 Windows XP 中添加/删除程序)
找到 Microsoft Office 的条目并单击它。 单击它后,您应该会看到一个标有“更改”的按钮出现在它旁边或列表顶部(取决于您拥有的 Windows 版本)。 单击此更改按钮。
出现 Microsoft Office 设置后,选择“修复”选项并单击“下一步”让 Microsoft Office 自行修复。 此过程完成后,您可能需要重新启动计算机; 完成后,Microsoft Office 安装程序会告诉您是否需要执行此操作。
安装经过 COM 调用测试且功能正常的 MS Office 版本。
以下是我测试过的 MS Office 版本的结果:
工作 MS Office 版本:2010、2019、365。
非工作 MS Office 版本:2007、2013。
微软字 x64:
"HKEY_CLASSES_ROOT\WOW6432Node\Interface{00020970-0000-0000-C000-000000000046}\TypeLib" MS Word x32:
“HKEY_CLASSES_ROOT \Interface{00020970-0000-0000-C000-000000000046}\TypeLib”
两者: “HKEY_CLASSES_ROOT\ WOW6432Node \TypeLib{00020970-0000-0000-C000-000000000046}”
COM 接口:
“HKEY_CLASSES_ROOT\WOW6432Node\Interface{000C033A-0000-0000-C000-000000000046}\TypeLib\Version”
“HKEY_CLASSES_ROOT\WOW6432Node\Interface{000C0339-0000-0000-C000-000000000046}\TypeLib\Version”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.