Word Automation:无需通过剪贴板即可编写RTF文本

时间:2020-03-05 18:42:00  来源:igfitidea点击:

我试图用存储在变量中的一些RTF字符串替换Word(2003/2007)中的当前选择。

这是当前代码:

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

有没有办法做同样的事情而无需通过剪贴板。还是有什么方法可以将剪贴板数据推送到安全的地方并在之后还原它?

解决方案

回答

我们可以使用RichTextbox将RTF转换为文本,反之亦然。

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

回答

将RTF放在文件而不是剪贴板中,然后从文件中插入,例如

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