【发布时间】:2018-10-19 08:22:25
【问题描述】:
我正在尝试使用 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);
【问题讨论】:
-
在您显示的代码中,
s是string。string不能包含格式信息 - 它只是一系列字符。唯一可以将格式化内容插入 Word 文档的string信息必须是 OPC 平面文件格式的有效 Word Open XML。对于 RichText,Word 需要转换器,这意味着代码必须使用InsertFile或从剪贴板粘贴。
标签: c# winforms office-interop