2

我的最终目标是将格式化的富文本插入 Outlook 检查器(例如 AppointmentItem、MailItem 等)。 我在 MSDN 论坛上问过这个问题,有人回答我应该使用剪贴板来复制其内容,然后使用我想使用的目标格式将其粘贴到窗口中。

我有以下 HTML字符串

<html><body><table><tr><td>iPhone</td><td>Telephone#</td></tr></table></body></html>

我有以下 C# 代码

Clipboard.SetText(insertString, TextDataFormat.Html);

//....
//code to get Word.Range in my inspector item (inconsequential to this question)
//....

selected.Paste();

问题是剪贴板没有插入文本,或者在代码中引发 COM Failed 异常。

使用 Paste() 时的 COM 异常

回答感谢 jlew

 HtmlFragment.CopyToClipboard(insertString);
 selected.Paste();

HtmlFragment 代码在这里找到:http: //blogs.msdn.com/b/jmstall/archive/2007/01/21/sample-code-html-clipboard.aspx

4

1 回答 1

6

除非自过去(.NET 2,这是我最后一次尝试此操作)以来发生了某些变化,否则您需要在将其放入剪贴板之前添加正确的剪贴板标题行,如下所述:

http://blogs.msdn.com/b/jmstall/archive/2007/01/21/html-clipboard.aspx

于 2013-01-30T21:02:09.627 回答