Как заменить текст в теле входящего сообщения гиперссылкой в ​​Outlook 2010?

Как заменить текст в теле входящего сообщения гиперссылкой в ​​Outlook 2010?

Кто-нибудь знает способ или программу, которая будет читать полученное электронное письмо и распознавать статический формат текста (в моем случае это будет «#», за которым следуют 6 целых чисел), и делать из него гиперссылку на веб-страницу?

Я думаю, что что-то похожее существует. Это будет работать так же, как когда вы вводите "www.google.com" и затем нажимаете Enter или пробел, это автоматически преобразуется в гиперссылку. Это для составленного письма, я ищу это в полученных письмах.

решение1

Вы пытаетесь автоматически создавать гиперссылки на ошибки в своем приложении для отслеживания ошибок/дефектов?

Проще всего было бы модифицировать программное обеспечение, отправляющее электронное письмо, чтобы оно само создавало гиперссылки...

Если вы все же хотите сделать это вручную, вот краткое руководство, которое я составил и которое, похоже, работает (тестировалось ОЧЕНЬ поверхностно, но номинально оно делает то, для чего предназначено).

Шаг 1: Включить вкладку «Разработчик» на ленте

Нажмите «Параметры»: нажмите «Параметры»

Нажмите «Настроить ленту», затем установите флажок «Разработчик»: нажмите «Настроить ленту»

Шаг 2: Перейдите в VBA и введите код

Нажмите Visual Basic:
Перейти к Visual Basic

Дважды щелкните поThisOutlookSessionмодуль и вставьте код следующим образом: Введите код

А теперь код:

Option Explicit

Sub InsertHyperLink(MyMail As MailItem)
    Dim body As String, re As Object, match As Variant

    body = MyMail.body
    Set re = CreateObject("vbscript.regexp")
    re.Pattern = "#[0-9][0-9][0-9][0-9][0-9][0-9]"

    For Each match In re.Execute(body)
        body = Replace(body, match.Value, "http://example.com/bug.html?id=" & Right(match.Value, 6), 1, -1, vbTextCompare)
    Next

    MyMail.body = body
    MyMail.Save
End Sub

Нажмите значок «Сохранить» или Ctrl+S.

Шаг 3: Создание пользовательского правила, выполняющего скрипт.

Перейдите в раздел «Управление правилами и оповещениями»: Перейти к управлению правилами и оповещениями

Нажмите Новое правило...: Нажмите «Новое правило»...

Нажмите «Применить правило к получаемым мной сообщениям», затем нажмите «Далее»: Применить правило к сообщениям, которые я получаю

Если вы хотите запустить правило только для определенных сообщений, вы можете выбрать любое из условий здесь. Не беспокойтесь о фильтрации сообщений, содержащих "#123456" в теле; мы делаем это в коде. Так что просто отфильтруйте, например, по "From:" или по теме, если хотите.Это необязательно.. Выберите условия

Выберите «Запустить скрипт». Щелкните по тексту «скрипт», подчеркнутому синим цветом, в нижнем поле. Выполнить действие сценария

Выберите скрипт, который мы только что создали, название которого, вероятно, будет обрезано из-за небольшого диалога, но это нормально.

Выберите свой сценарий

На этом этапе вы можете просто нажать «Далее» и «Готово» внизу несколько раз, пока диалоговые окна не закроются; на этом все должно быть готово.

Теперь попробуйте составить электронное письмо самому себе (или получить электронное письмо от отправителя или с темой, которую вы ожидаете, если вы указали пользовательское условие) и вставьте число, например:

#123456

в тело и отправьте его.

Когда вы получите почтовое сообщение, в нем должен быть указан URL-адрес http://example.com/bug.html?id=123456(где «123456» заменено на 6 выбранных вами цифр).

Вы можете настроить код скрипта, чтобы он указывал на другой URL, изменив строку URL в коде. Вы также можете делать с ним более экзотические вещи, чтобы либо сохранить, либо удалить номер, или различные другие вещи.

Этот ответ занял у меня весь обеденный перерыв, поэтому, если вы считаете, что он стоил того, пожалуйста, не забудьте проголосовать за него... Дайте мне знать в комментариях, если у вас возникнут какие-либо трудности или вопросы.

Очень полезноВопрос на StackOverflow, который, по крайней мере, дал мне представление о возможности реализации этого:Добавить заголовок темы в Outlook (VBA)

Связанный контент