Как изменить содержимое элемента управления содержимым в Word 2007 с помощью OpenXml SDK 2.0?

О том, чтобы сойти с ума от этой проблемы. Я'я уверен, что этотак просто яМне просто не хватает этого, но я не могу на всю жизнь узнать, как изменить содержимое элемента управления содержимым в Word 2007 с OpenXml SDK v2.0 в C #.

Я создал документ Word с контролем содержимого в виде простого текста. Тег для этого элемента управления "Имя", В коде яЯ хотел бы открыть документ Word, найти этот элемент управления содержимым и изменить содержимое без потери форматирования.

Решение, которое я наконец получил, включило нахождение элемента управления контентом, вставку прогона после него, а затем удаление элемента управления контентом как такового:

using (WordprocessingDocument wordProcessingDocument = WordprocessingDocument.Open(filePath, true)) {
MainDocumentPart mainDocumentPart = wordProcessingDocument.MainDocumentPart;
SdtRun sdtRun = mainDocumentPart.Document.Descendants()
 .Where(run => run.SdtProperties.GetFirstChild().Val == "FirstName").Single();

if (sdtRun != null) {
 sdtRun.Parent.InsertAfter(new Run(new Text("John")), sdtRun);
 sdtRun.Remove();
}

Это меняет текст, но я теряю все форматирование. Кто-нибудь знает, как я могу это сделать?

Ответы на вопрос(5)

Ваш ответ на вопрос