I am trying to replace the current selection in Word (2003/2007) by some RTF string stored in a variable.
Here is the current code:
Clipboard.SetText(strRTFString, TextDataFormat.Rtf)
oWord.ActiveDocument.ActiveWindow.Selection.PasteAndFormat(0)
Is there any way to do the same thing without going through the clipboard. Or is there any way to push the clipboard data to a safe place and restore it after?
Put the RTF in a file instead of the clipboard, then insert from the file, e.g.
Selection.InsertFile FileName:="myfile.rtf", Range :="", _ ConfirmConversions:=False, Link:=False, Attachment:=False
You can use a RichTextbox to convert RTF to text or vice versa.
RichTextBox r = new RichTextBox();
r.Rtf = strRTFString;
Console.WriteLine(r.Text);
来源:https://stackoverflow.com/questions/22326/word-automation-write-rtf-text-without-going-through-clipboard