如何使用 Outlook 2010 中的超链接替换传入邮件正文中的文本?

ika*_*eat 8 microsoft-outlook vba microsoft-outlook-2010 rules

有谁知道一种方法或程序可以读取收到的电子邮件并识别静态文本格式(在我的情况下,它将是“#”后跟 6 个整数),并将其设为网页的超链接?

我不得不认为存在类似的东西。这与当您键入“www.google.com”然后按 Enter 或空格时的操作方式相同,它会自动将其转换为超链接。那是一封写好的电子邮件,我在收到的电子邮件中寻找这个。

all*_*tic 23

您尝试自动超链接到错误/缺陷跟踪应用程序中的错误?

最简单的方法是修改发送电子邮件的软件以创建超链接本身......

如果您仍然想手动执行此操作,这里是我编写的一个快速指南,它似乎可以工作(经过非常轻松的测试,但名义上确实可以完成它的设计目的)。

第 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
Run Code Online (Sandbox Code Playgroud)

单击保存图标或按Ctrl+S

步骤 3:创建执行脚本的自定义规则。

转到管理规则和警报: 转到管理规则和警报

单击新建规则...: 单击新建规则...

单击“对我收到的消息应用规则”,然后单击“下一步”: 对我收到的消息应用规则

如果您只想对某些邮件运行规则,您可以从此处的任何条件中进行选择。不要担心过滤正文中包含“#123456”的消息;我们在代码中这样做。因此,如果您愿意,只需过滤“发件人:”或主题。这是可选的选择条件

选择“运行脚本”。单击底部框中蓝色下划线的“脚本”文本。 运行脚本操作

选择我们刚刚创建的脚本,由于对话框很小,其名称可能会被截断,但这没关系。

选择你的脚本

此时,您可以重复单击底部的“下一步”和“完成”,直到对话框消失;你应该完成。

现在尝试给自己写一封电子邮件(或者从您期望的发件人或主题行接收电子邮件,如果您指定了自定义条件)并插入一个数字,例如:

#123456

进入身体,然后发送。

当您收到邮件消息时,它应该将其作为 URL http://example.com/bug.html?id=123456(其中“123456”替换为您选择的 6 个数字)。

您可以通过修改代码中的 URL 字符串来自定义脚本代码以指向不同的 URL。您还可以用它做更多奇特的事情来保留或删除号码,或其他各种事情。

这个答案占用了我整个午餐时间,所以如果您认为值得,请记得投票...如果您有任何困难或问题,请在评论中告诉我。

非常有用的StackOverflow 问题,它至少给了我一个可行的方法来实现这个:Append Subject Header in Outlook (VBA)