我想改变一个单词的颜色。我在runproperties中添加颜色,但不改变单个单词的颜色,而是改变整行的颜色。看到代码。
void AppendStyle(string document, string word, string col)
{
try
{
using (WordprocessingDocument wordDoc =
WordprocessingDocument.Open(document, true)) //Open file from path
{
var body = wordDoc.MainDocumentPart.Document.Body;
var paras = body.Elements<Paragraph>();
DocumentFormat.OpenXml.Wordprocessing.Color color = new DocumentFormat.OpenXml.Wordprocessing.Color();
foreach (var para in paras)
{
foreach (var run in para.Elements<Run>())
{
foreach (var text in run.Elements<Text>())
{
if (text.Text.Contains(word))
{
color.Val = col;
run.AppendChild(color);
return;
}
}
}
}
wordDoc.Close(); // close the template file
}
答案 0 :(得分:0)
当您只为一个句子的一部分着色时,Word所做的是它将句子分成多个运行。你需要做同样的事情。