Python无法编辑word文档

Python cannot edit word document

我的目标是替换现有 word docx 中的一些文本。但是,我在使用 ReplaceAll 函数时遇到错误。你能帮忙解释一下这个问题吗?谢谢!

我的代码:

import win32com.client
constants=win32com.client.constants
wordapp=win32com.client.gencache.EnsureDispatch('Word.Application')
worddoc=wordapp.Documents.Open(templatefile)
wordapp.Visible=False
wordapp.Selection.Find.ClearFormatting
wordapp.Selection.Find.Replacement.ClearFormatting
worddoc.Range(0,0).Select()
selection = wordapp.Selection
selection.Find.ClearFormatting()
selection.Find.Replacement.ClearFormatting()
selection.Find.Forward=True
for dummy in myDict.keys():
    selection.Find.Text = dummy
    selection.Find.Replacement.Text = myDict[dummy]
    selection.Find.Execute(Replace=constants.wdReplaceAll)
worddoc.SaveAs(savefile)
worddoc.Close()
wordapp.Application.Quit()

错误信息:

Traceback (most recent call last):
  File "short_py3_1.py", line 75, in <module>
    selection.Find.Execute(Replace=constants.wdReplaceAll)
  File "C:\Temp\gen_py.8[=12=]020905-0000-0000-C000-000000000046x0x8x7\Find.py", line 45, in Execute
    return self._oleobj_.InvokeTypes(444, LCID, 1, (11, 0), ((16396, 17), (16396, 17), (16396, 17), (16396, 17), (16396, 17), (16396, 17), (16396, 17), (16396, 17), (16396, 17), (16396, 17), (16396, 17), (16396, 17), (16396, 17), (16396, 17), (16396, 17)),FindText
pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, 'Microsoft Word', 'This command is not available.', 'wdmain11.chm', 37373, -2146823683), None)

我的 conda 包:

ca-certificates           2021.1.19            h9f7ea03_0
certifi                   2020.12.5        py38h9f7ea03_0
openssl                   1.1.1i               hc431981_0
pip                       20.3.3           py38h9f7ea03_0
pysimplegui               4.34.0                   pypi_0    pypi
python                    3.8.5                h5fd99cc_1
pywin32                   227              py38he774522_1
setuptools                51.3.3           py38h9f7ea03_4
sqlite                    3.33.0               h2a8f88b_0
vc                        14.2                 h21ff451_1
vs2015_runtime            14.27.29016          h5e58377_2
wheel                     0.36.2             pyhd3eb1b0_0
wincertstore              0.2                      py38_0
zlib                      1.2.11               h33f27b4_4

抱歉,我只是想通了自己。问题是当打开 word 2019 时,程序有一个默认的“阅读”模式视图(这会阻止用户修改文档。您可以在 word 的右下角切换模式)。然后,我将 word 默认视图从阅读模式更改为 word 选项中的打印布局。脚本 运行 没有错误。

有关“如何使打印布局成为 Microsoft Word 中的默认视图布局?”的更多信息?

Link