使用Microsoft.Interop.Office.Word插入格式化的脚注

时间:2018-10-19 08:22:25

标签: c# winforms office-interop

我正在尝试使用WinForms应用程序将 格式化 脚注插入打开的Word文档中。

虽然我可以使用Interop.Word设置纯文本脚注,但只要我使用纯文本,它就可以正常工作。但是,我也希望用户能够将格式丰富的文本从格式文本框中粘贴到脚注中。这永远不会起作用,并且总是显示富文本代码。

我知道脚注可以采用格式,因为如果我将富文本插入剪贴板并将其粘贴到脚注中,则格式会保留下来。

我什至尝试将富文本格式放入剪贴板,然后使用“ s = Clipboard.GetText(TextDataFormat.Rtf);”将字符串设置为剪贴板内容。似乎这应该正是我要粘贴的内容,但是如果我将其粘贴到脚注中,则可以正常工作。如果程序使用下面的代码对其进行设置,则它将不起作用。

感谢您的帮助。

application = (Microsoft.Office.Interop.Word.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Word.Application");

application.ActiveDocument.Footnotes.Add(application.Selection.Range, "", s);

1 个答案:

答案 0 :(得分:0)

辛迪的回答很有帮助。我通过执行以下操作解决了该问题:

  1. 保存文档中的当前所选位置和剪贴板中的当前内容。
  2. 插入空白脚注。
  3. 选择脚注。
  4. 将字符串作为富文本格式放入剪贴板。
  5. 将信息从剪贴板发送/粘贴到Word。
  6. 还原剪贴板和文档中的原始选定位置。