【发布时间】:2015-11-17 06:07:37
【问题描述】:
我正在使用 Open XML SDK 突出显示 docx 文件中的特定单词,但我无法做到这一点,经过广泛研究后,我做了以下尝试打开文档,然后编辑单词的颜色并保存再次,但当我找到文档的最后编辑时间和现在的日期时,我没有保存任何内容。
那段代码有什么问题?
void HighLightWord(string documentUrl, string word)
{
using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(documentUrl, true))
{
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 = "365F91";
run.Append(color);
wordDoc.MainDocumentPart.Document.Save();
return;
}
}
}
}
wordDoc.Close(); // close the template file
}
}
【问题讨论】:
-
您能告诉我们代码有什么问题吗?您已经编写了它...您能否逐步检查代码并查明问题所在?
标签: c# ms-word openxml openxml-sdk