Word Automation: писать текст в формате RTF, не переходя в буфер обмена - PullRequest
11 голосов
/ 22 августа 2008

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

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

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

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

Ответы [ 2 ]

14 голосов
/ 26 августа 2008

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

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

0 голосов
/ 22 августа 2008

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

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