У меня есть приложение на C # .NET, которое должно загрузить документ Word, найти некоторый текст-заполнитель (например, "
") и заменить его текстом , полученным из элемента управления RTF. Этот окончательный документ открывается в виде сообщения электронной почты в Outlook и готов к отправке.
Все это работает, за исключением того, что я не могу понять, как перенести форматирование из элемента управления RTF в документ Word. Текст RTF содержит жирный шрифт, точки и другое форматирование, а длина текста превышает 256 символов, поэтому метод поиска и замены при взаимодействии Word не будет работать.
Я могу использовать метод Find, а затем установить текст выделения на то, что я хочу (избегая ограничения в 256 символов), но я никак не могу понять, как выполнить форматирование. Существует элемент FormattedText, который, кажется, будет выполнять свою работу, но независимо от того, что я назначаю ему (даже назначаю себе), выдает ошибку, поэтому я могу только предположить, что он предназначен только для чтения.
Но это спорный вопрос, потому что элемент управления RTF, похоже, может предоставить только простой текст без форматирования или строку, содержащую код RTF. Кажется, что нет никакой функции Word для интерпретации кода RTF, поэтому все, что я могу сейчас сделать, это заменить заполнитель
на некоторые непонятные последовательности RTF.
Я изучал API OpenXML, который мог бы позволить мне вставлять форматированный текст в виде фрагмента XML, но я не понимаю, как получить содержимое элемента RTF в виде вставляемого фрагмента XML.
Кто-нибудь знает, каким образом это может быть достигнуто?