Как вставить гиперссылку в свойство RTFBODY Outlook Appointment?

1

Это то, что у меня есть до сих пор:

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);

Код работает отлично, и добавляет текст "Щелчок Heere", но нет ссылки, прикрепленной к тексту. Я думаю, что я рядом, но я не очень разбираюсь в форматировании RTF. Любая помощь будет принята с благодарностью!

Теги:
outlook-addin
rtf

2 ответа

1
Лучший ответ

Вы читаете rtb.Text (обычный текст), а не Rtf:

item.RTFBody = System.Text.Encoding.UTF8.GetBytes(rtb.Rtf);
  • 0
    Спасибо! Вы были правы, использование rtb.Rtf решило эту проблему. Знаете ли вы, есть ли способ использовать не http / s протоколы в гиперссылках RTF? Теперь код отлично работает для google.com , но мне нужно, чтобы открыть ссылку, например: h323: // 12345678. При использовании этого он не кликабелен. Есть идеи? Еще раз спасибо!
  • 0
    Насколько я знаю, список протоколов жестко закодирован ...
Показать ещё 1 комментарий
1

Взгляните на то, что является синтаксисом RTF для гиперссылки? который описывает точно такой же вопрос:

Синтаксис поля RTF рассматривается в спецификации, и с помощью инструкции HYPERLINK вы получите ссылку. Этот вопрос показывает использование инструкции HYPERLINK.

Также я бы предложил сохранить элемент Outlook и снова открыть окно инспектора. Надеюсь, это поможет.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню