pywintypes.com

您所在的位置:网站首页 Iphone13电池容量多大 pywintypes.com

pywintypes.com

2023-06-27 05:44| 来源: 网络整理| 查看: 265

远程用户调用win32com.client.Dispatch('Word.Application')报错:pywintypes.com_error: (-2147024891, '拒绝访问。', None, None)。但本地访问没有问题。主要原因是:服务器上的Word.Application设置问题,不允许远程调用。解决方法如下:

解决方法之前的背景知识:win32com.client.Dispatch调用参数“Word.Application”是对应注册表中“计算机\HKEY_CLASSES_ROOT\Word.Application”,所以先要检查注册表中是否有这个配置。

1、服务器上,按win+r,输入“dcomcnfg”,进入组件服务,选择“DCOM配置”,找到“Microsoft Word 97 - 2003 Document”,右键属性,选择“标识”页,选择“交互式用户”;然后选择“安全”页,设置“启动和激活权限”为“自定义”,点击编辑,添加IIS_IUSRS(计算机名)、NETWORK SERVICE用户(如果以上2个用户添加后还不行,添加Everyone用户),勾选全部权限。确定退出,同样设置“访问权限”和“配置权限”。再选择“常规”页,“身份验证级别”选择“无”。确定退出。在服务组件列表中找到“Microsoft Word Application”,做同样设置。但不同的是,右键属性,选择“标识”页,选择“下列用户”,浏览用户,选择本机管理员权限的用户,输入登录密码。这步主要是针对有时远程访问报错:pywintypes.com_error: (-2147467238, '因为配置标识不正确,系统无法开始服务器进程。请检查用户名和密码。', None, None)。

另外,这一步会出现在服务组件中找不到“Microsoft Word 97 - 2003 Document”和“Microsoft Word Application”组件,是因为没有按照Word的64位版,组件服务默认显示的是64位组件。这是可以卸载office Word,重新安装64位版本。

2、上面这步基本就可以解决win32com.client.Dispatch('Word.Application')调用报错的问题了。但后续会调用

wd.Documents.Open(path + doc_file, ReadOnly=True)

报错:pywintypes.com_error: (-2147352567, '发生意外。', (0, 'Microsoft Word', '很抱歉,找不到您的文件。该项目是否已移动、重命名或删除?\r (D:\\...\\XXXXXX..)', 'wdmain11.chm', 24654, -2146823114), None),其实这是路径的问题,文件路径增加下面黄色部分即可解决。

wd.Documents.Open(path+'\\'+ doc_file, ReadOnly=True)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3