代码之家  ›  专栏  ›  技术社区  ›  Vincent

Word自动化:不通过剪贴板编写RTF文本

  •  11
  • Vincent  · 技术社区  · 16 年前

    我正在努力 替换Word中的当前选定内容(2003/2007) 由一些 RTF串 存储在变量中。

    以下是当前代码:

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

    有没有什么方法可以不经过剪贴板就做同样的事情呢?或者,是否有任何方法可以将剪贴板数据推送到安全的地方,然后恢复它?

    2 回复  |  直到 10 年前
        1
  •  14
  •   sven    16 年前

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

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

        2
  •  -3
  •   samjudson    16 年前

    您可以使用richtextbox将rtf转换为文本,反之亦然。

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