如何为docx中的特定单词赋予颜色

How to give color to a particular word in docx

我见过很多这样的代码:

from docx import Document
from docx.shared import RGBColor
document = Document()
run = document.add_paragraph().add_run('some text')
font = run.font
font.color.rgb = RGBColor(0x42, 0x24, 0xE9)
p=document.add_paragraph('aaa')
document.save('demo1.docx')

但上面的代码对所有句子都应用了一种颜色,但我想对特定的词使用特定的颜色。如何实现?

例如:

sentence = [' I want a color for a particular word in this sentence not to this whole 
            sentence']
selected_words = ['want', 'particular', 'this'] #<----- any color to this words from 
                                                #        above sentence!

我没有为我的查询找到任何代码,否则我可能会放一些我试过的代码。 请帮忙

您需要拆分并重新加入。我正在稍微修改您的示例:

sentence = 'I want a color for a particular word in this sentence not to this whole sentence'
selected_words = ['want', 'particular', 'this']

from docx import Document
from docx.shared import RGBColor
document = Document()
paragraph = document.add_paragraph()
sentence_split = sentence.split()
for x in sentence_split:
  if x in selected_words:
    run2 = paragraph.add_run(x)
    red = RGBColor(255, 0, 0)
    run2.font.color.rgb = red
  else:
    paragraph.add_run(x)
  
  paragraph.add_run(" ")