加载Word.Application有两种方式。
1.第一种
from win32com.client import DispatchEx,constants,gencache
word = gencache.EnsureDispatch('Word.Application')
2.第二种
gencache.EnsureModule('{00020905-0000-0000-C000-000000000046}',0,8,4)
word = DispatchEx('Word.Application')
在执行第二种方式时,运行报错com_error: (-2147312566, '加载类型库/DLL 时出错。', None, None),网上找了半天也没有找到解决办法。后来看文档说明运行第一种方式会在C:\Users\用户名\AppData\Local\Temp\gen_py\3.7生成一个一串数字的文件目录名(00020905-0000-0000-C000-000000000046x0x8x6),然后把第二种方式的参数修改成和这个目录一致后(即gencache.EnsureModule('{00020905-0000-0000-C000-000000000046}',0,8,6) ),可以正常运行了,问题解决。记录下解决过程...
参考链接:python - win32.Dispatch 与 Python 中的 win32.gencache。优缺点都有什么? - IT工具网 (coder.work)