Я использую Open XML SDK, чтобы выделить конкретное слово внутри файла docx, но я не смог этого сделать, после обширного исследования я сделал следующее. Я попытался открыть документа, а затем отредактируйте цвет слова и сохраните его снова, но я ничего не могу сохранить, когда нашел время последнего редактирования документа с датой даты.Невозможно выделить слово в текстовом файле с помощью OpenXML
Что не так с этим кодом?
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
}
}
Возможный дубликат [выделение текста в Docx с использованием C#] (http://stackoverflow.com/questions/26131230/highlighting-text-in-docx-using-c-sharp) – MethodMan
вы можете рассказать нам, что не так с код .. вы его написали ... можете ли вы пройти через код и определить, где происходят проблемы.? – MethodMan