突出显示是 字体 的属性,而不是直接运行。同样,Run.add_text()
返回一个_Text
对象,而不是运行。
from docx.enum.text import WD_COLOR_INDEX
for paragraph in document.paragraphs:
if 'vehicle' in paragraph.text:
for run in paragraph.runs:
if 'vehicle' in run.text:
x = run.text.split('vehicle')
run.clear()
for i in range(len(x)-1):
run.add_text(x[i])
run.add_text('vehicle')
run.font.highlight_color = WD_COLOR_INDEX.YELLOW
另外,突出显示将应用于整个运行,因此您需要为“车辆”之前的每个文本,“车辆”一词本身以及“车辆”之后的文本分别创建一个运行。
同样,不能保证一个给定的单词在一次运行中完全出现。运行通常会在一个词??中分裂。因此,在处理一般情况时,您将需要更加复杂的方法。