2015-04-24 2 views
0

Я работаю над Outlook AddIn, который вставляет текст в тело письма. Я не использую ни одно из следующего.Как вставить интерактивную гиперссылку с Outlook AddIn?

email.Body 
email.HTMLBody 

Вместо этого я использую: email.GetInspector.WordEditor.Content.InsertBefore() или InsertAfter() Причина этого выбора оправдано тем, что последний вышеупомянутый строка кода сохраняет форматирование электронной почты, шрифты пользователя по умолчанию, так же как и форматирование подписи.

Теперь, когда я пытаюсь вставить ссылку в электронное письмо, она не отображается как гиперссылка, а просто как строка. Моя ссылка становится кликабельной гиперссылкой, когда я нажимаю пробел или вводю после нее. Я не могу использовать класс URI, потому что я также вставляю текст в формате строки вместе со ссылкой.

Я попытался добавить теги самостоятельно и сохранил электронную почту как .htm, вот строка, где размещена моя ссылка. Теги не переводятся в HTML.

<a href="http://whatever.com">http://whatever.com</a> 

И если не поставить метки себя, это просто то же самое, но без всех & Quot, & Г.Т., & ЛТ ... и, конечно, нет HTML тег, который не имеет гипертекстовую ссылку ,

Кто-нибудь знает, как это исправить?

ответ

0

Класс Document из объектной модели Word предоставляет свойство Hyperlinks, которое возвращает коллекцию гиперссылок, которая представляет все гиперссылки в указанном документе.

Вам необходимо использовать метод класса Hyperlinks Add. Он возвращает объект гиперссылки, который представляет новую гиперссылку, добавленную в диапазон, выбор или документ.

+0

Не могли бы вы объяснить больше или показать пример кода. У меня проблемы с этим. – SystemFailure

+0

Свойство WordEditor возвращает экземпляр класса Document из объектной модели Word. Вы можете использовать метод WordEditor.Hyperlinks.Add для добавления новой гиперссылки. –

+0

Я все еще здесь потерян. Когда я попробовал этот email.GetInspector.WordEditor.Hyperlinks.Add '(0) = .Address связь;' я получаю эту ошибку: «Не удалось преобразовать аргумент 0 для вызова Добавить.» Должен ли я позвонить 'гиперссылок .Add (0) 'до или после (или даже вместо) вставить ссылку через' InsertAfter (link) '? Когда я использую эту строку 'email.GetInspector.WordEditor.Hyperlinks.Item (0);' я получаю эту ошибку: «Запрашиваемый член коллекции не существует.» – SystemFailure

Смежные вопросы