Автоматизация Word: запись текста RTF без прохождения буфера обмена

Я пытаюсь заменить текущий выбор в Word (2003/2007) на строку RTF, хранящуюся в переменной.

Вот текущий код:

Clipboard.SetText(strRTFString, TextDataFormat.Rtf)
oWord.ActiveDocument.ActiveWindow.Selection.PasteAndFormat(0)

Есть ли способ сделать то же самое, не пройдя через буфер обмена. Или можно каким-либо образом переместить данные буфера обмена в безопасное место и восстановить его после?

Ответ 1

Поместите RTF в файл вместо буфера обмена, затем вставьте из файла, например.

Selection.InsertFile FileName:="myfile.rtf", Range :="", _ ConfirmConversions:=False, Link:=False, Attachment:=False

Ответ 2

Вы можете использовать RichTextbox для преобразования RTF в текст или наоборот.

RichTextBox r = new RichTextBox();
r.Rtf = strRTFString;
Console.WriteLine(r.Text);