outlook的VBA脚本,用于在web浏览器中自动从邮件正文打开所有传入邮件的URL

outlook的VBA脚本,用于在web浏览器中自动从邮件正文打开所有传入邮件的URL,vba,outlook,Vba,Outlook,我对编写VBA脚本相当陌生。实际上,我正在尝试编写一个小的VBA脚本,它将浏览新收到的电子邮件,扫描邮件正文,并在IE、FF或Chrome等web浏览器中打开所有URL(我将此脚本用于始终包含单个URL的邮件)。我试着在SO和Google上寻找类似的Qs。我在这里找到了一个:关于如何在电子邮件到达时打开URL。但它总是打开一个固定的URL,而不是遍历消息体并从中选择URL。此外,我还发现了:它通过消息体来选择/搜索某些内容。在我的场景中,我想合并这两个脚本,但我无法拿出一个基本脚本。有没有人能给

我对编写VBA脚本相当陌生。实际上,我正在尝试编写一个小的VBA脚本,它将浏览新收到的电子邮件,扫描邮件正文,并在IE、FF或Chrome等web浏览器中打开所有URL(我将此脚本用于始终包含单个URL的邮件)。我试着在SO和Google上寻找类似的Qs。我在这里找到了一个:关于如何在电子邮件到达时打开URL。但它总是打开一个固定的URL,而不是遍历消息体并从中选择URL。此外,我还发现了:它通过消息体来选择/搜索某些内容。在我的场景中,我想合并这两个脚本,但我无法拿出一个基本脚本。有没有人能给我一些整合这两者的建议,并帮助我实现每当新邮件到达Outlook邮箱时从邮件正文打开URL的目标。提前感谢。

阿尔法,我认为这是一件有点不安全的事情,即使你的规则只适用于特定领域的人。
Sub LaunchURL(itm As MailItem)

    Dim bodyString As String
    Dim bodyStringSplitLine
    Dim bodyStringSplitWord
    Dim splitLine
    Dim splitWord

    bodyString = itm.Body
    bodyStringSplitLine = Split(bodyString, vbCrLf)

    For Each splitLine In bodyStringSplitLine
        bodyStringSplitWord = Split(splitLine, " ")

        For Each splitWord In bodyStringSplitWord
            If Left(splitWord, 7) = "http://" Then
                Shell ("C:\Program Files\Internet Explorer\IEXPLORE.EXE" & " " & splitWord)
            End If
        Next

    Next

    Set itm = Nothing

End Sub

Private Sub test()
    Dim currItem As MailItem
    Set currItem = ActiveInspector.currentItem
    LaunchURL currItem
End Sub
这是一个好主意,当您使用您创建的变量检查urlstring时(比如仅来自本地intranet的链接)

if splitWord like "my_company_internat_url" then '...