将列表复制到剪贴板以将富文本粘贴到 Outlook

Copy List to clipboard for rich text pasting into Outlook

我有一个由三部分组成的列表:文本,url,长文本(基本上,它是推特句柄,link 到推文,推文的文本)。

我正在尝试弄清楚如何将该列表加载到剪贴板,以便当您将其粘贴到独立的 Outlook(或 OneNote,我假设它是相同的解决方案)时,您最终会得到由前两条数据组成的可点击 link(即 MyHandle 是推文的 <a href)。

您可以使用以下代码将格式化的 HTML 字符串复制到剪贴板以进行粘贴:

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

参考:

How do I copy formatted HTML string into a Clipboard for paste using C#?

A​​lina 的回答是正确的,但我同意 Rob 关于它需要更多信息的观点。

基本上,没有办法直接做到这一点,但是,在 How do I copy formatted HTML string into a Clipboard for paste using C#? there's a reference to the HTMLFragment Class at http://blogs.msdn.com/b/jmstall/archive/2007/01/21/sample-code-html-clipboard.aspx 中。 Class,由 HtmlFragment.CopyToClipboard(insertString) 调用;仍然可以将格式化文本粘贴到 Outlook/OneNote.

查看原始代码,Clipboard.SetText(insertString, TextDataFormat.Html);,我应该先测试一下,因为原始的 post 是粘贴错误,而不是剪贴板错误设置,但最终,HTMLFragement class 如此工作,我很高兴。这只是一个人的项目,所以有点半途而废(ui 中没有很多错误检查或美化。我的意思是,哎呀,我是作为 winform 而不是 fluent/uwp).但是,这就是答案:

尝试Clipboard.SetText(insertString, TextDataFormat.Html);如果在尝试粘贴到剪贴板时这不起作用,请将头移动到 http://blogs.msdn.com/b/jmstall/archive/2007/01/21/sample-code-html-clipboard.aspx 中的 HTMLFragment Class 并通过 HtmlFragment.CopyToClipboard(YOUR_HTML_STRING) 调用它;