Pywin32通过调度程序更新word文档

2024-03-28 13:33:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些简单的代码,可以打开word文档,更新其中的字段,然后关闭它。当我手动运行该代码时,它可以正常工作,但是当我通过SQLServer代理运行它时,会出现一个错误。与SQL Server代理一起运行的用户与手动运行时与我一起登录的用户相同。我知道代理可以“查看”文档,因为任务中使用的早期代码实际上创建了此文档

代码:

import win32com.client
word = win32com.client.DispatchEx("Word.Application")
filePath = "\\\\network\\data\\file.docx"
doc = word.Documents.Open(filePath)
doc.TablesOfContents(1).Update()
doc.Close(SaveChanges=True)
word.Quit()

错误:

Executed as user: DOMAIN\User. Traceback (most recent call last):
File "\\network\data\file.docx", line 8, in
doc.TablesOfContents(1).Update() AttributeError: 'NoneType' object has no attribute 'TablesOfContents'

为什么会发生这种行为


Tags: 代码用户文档client代理datadoc错误
1条回答
网友
1楼 · 发布于 2024-03-28 13:33:15

对于将来可能遇到此问题的任何人,我将其修复为:

  1. 打开dcomcnfg导航到组件服务>;计算机>;我的 计算机>;DCOM配置>;Microsoft Word 97-2003文档
  2. 单击鼠标右键,然后单击“属性”
  3. 选择标识选项卡
  4. 选择“交互用户”

相关问题 更多 >