【发布时间】:2018-11-10 06:29:39
【问题描述】:
我有一个由三部分组成的列表:文本、网址、长文本(基本上是推特句柄、推文链接、推文文本)。
我正在尝试弄清楚如何将该列表加载到剪贴板中,这样当您将其粘贴到独立的 Outlook(或 OneNote,我想这将是相同的解决方案)时,您最终会得到一个可点击的由前两条数据组成的链接(即 MyHandle 是推文的<a href)。
【问题讨论】:
标签: c# outlook clipboard onenote
我有一个由三部分组成的列表:文本、网址、长文本(基本上是推特句柄、推文链接、推文文本)。
我正在尝试弄清楚如何将该列表加载到剪贴板中,这样当您将其粘贴到独立的 Outlook(或 OneNote,我想这将是相同的解决方案)时,您最终会得到一个可点击的由前两条数据组成的链接(即 MyHandle 是推文的<a href)。
【问题讨论】:
标签: c# outlook clipboard onenote
您可以使用以下代码将格式化的 HTML 字符串复制到剪贴板中进行粘贴:
HtmlFragment.CopyToClipboard(insertString);
selected.Paste();
参考:
How do I copy formatted HTML string into a Clipboard for paste using C#?
【讨论】:
Alina 的回答是正确的,但我同意 Rob 关于它需要更多信息的观点。
基本上,没有办法直接做到这一点,但是,在How do I copy formatted HTML string into a Clipboard for paste using C#? 中,http://blogs.msdn.com/b/jmstall/archive/2007/01/21/sample-code-html-clipboard.aspx 有对 HTMLFragment 类的引用。该类,由 HtmlFragment.CopyToClipboard(insertString); 调用仍然可以将格式化的文本粘贴到 Outlook/OneNote 中。
查看原始代码 Clipboard.SetText(insertString, TextDataFormat.Html);,我应该先测试一下,因为原始帖子在粘贴时出错,而不是剪贴板集,但最后是 HTMLFragement上课如此,我很高兴。这只是一个人的项目,所以它有点半开玩笑(在 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 类并通过 HtmlFragment.CopyToClipboard(YOUR_HTML_STRING) 调用它;
【讨论】: