如何在Outlook Appointment的RTFBODY属性中插入超链接?

时间:2015-04-01 18:09:00

标签: c# outlook-addin rtf

这是我到目前为止所做的:

RichTextBox rtb = new RichTextBox();
rtb.Rtf = System.Text.Encoding.UTF8.GetString(item.RTFBody);
rtb.Select(rtb.TextLength, 0);
rtb.SelectedRtf = @"{\rtf1\ansi{\fonttbl\f0\fswiss Helvetica;}\f0\pard {\par} {\field{\*\fldinst HYPERLINK ""http://www.google.com/""}{\fldrslt Click Here}}";

item.RTFBody = System.Text.Encoding.UTF8.GetBytes(rtb.Text);

代码运行正常,并添加" Click Heere"文本,但文本没有附加链接。我想我已经接近了,但我对RTF格式不太了解。任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:1)

查看描述完全相同问题的What is the RTF syntax for a hyperlink?主题:

RTF字段语法包含在specification中,使用HYPERLINK指令会为您提供链接。此question显示了HYPERLINK指令的用法。

另外,我建议保存Outlook项目并重新打开检查器窗口。希望它会有所帮助。

答案 1 :(得分:1)

您正在读回rtb.Text(纯文本),而不是Rtf:

item.RTFBody = System.Text.Encoding.UTF8.GetBytes(rtb.Rtf);