Кто-нибудь знает способ или программу, которая будет читать полученное электронное письмо и распознавать статический формат текста (в моем случае это будет «#», за которым следуют 6 целых чисел), и делать из него гиперссылку на веб-страницу?
Я думаю, что что-то похожее существует. Это будет работать так же, как когда вы вводите "www.google.com" и затем нажимаете Enter или пробел, это автоматически преобразуется в гиперссылку. Это для составленного письма, я ищу это в полученных письмах.
решение1
Вы пытаетесь автоматически создавать гиперссылки на ошибки в своем приложении для отслеживания ошибок/дефектов?
Проще всего было бы модифицировать программное обеспечение, отправляющее электронное письмо, чтобы оно само создавало гиперссылки...
Если вы все же хотите сделать это вручную, вот краткое руководство, которое я составил и которое, похоже, работает (тестировалось ОЧЕНЬ поверхностно, но номинально оно делает то, для чего предназначено).
Шаг 1: Включить вкладку «Разработчик» на ленте
Нажмите «Параметры»:
Нажмите «Настроить ленту», затем установите флажок «Разработчик»:
Шаг 2: Перейдите в VBA и введите код
Нажмите 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)