我遇到了Python包win32com的一个大问题:我的问题是我想在Word文档中找到一些单词,并用斜体字表示。
假设我的文档中有“Hello”字样10次。我希望达到所有这10个单词“Hello”的出现次数,并用斜体字写出来。
关于如何做到这一点的任何想法?我一直在寻找几个月的解决方案,我找不到一个!
非常感谢!
答案 0 :(得分:0)
一种解决方案是避免使用wdReplaceAll
,而只需执行
import win32com.client
import os
word = win32com.client.Dispatch('Word.Application')
word.Documents.Open(os.path.abspath(r'.\your_document.docx'))
while word.Selection.Find.Execute('Hello'):
word.Selection.Range.Font.Italic = True
在这里,我们不断搜索'Hello'
,并针对每个搜索结果使用匹配变为可用作为所选范围的事实。
请注意,这不包围搜索,因此如果在您的情况下这是必要的(如果您无法确保在文档的开头开始搜索,可能会这样做),您可能希望使用{{ 3}}(并注意避免潜在的无限循环)。