2

我对编写 VBA 脚本很陌生。实际上,我正在尝试编写一个小的 VBA 脚本,它将通过新收到的电子邮件,扫描邮件正文并打开所有 url(我将此脚本定位为始终包含单个 URL 的邮件) IE、FF 或 Chrome 等网络浏览器。我尝试在 SO 和 Google 上寻找类似的 Q。我在这里找到了一个:如何在一封电子邮件到达时启动一个 URL,该 URL这是关于如何在电子邮件到达时打开 URL。但它总是打开一个固定的 URL,而不是通过邮件正文并从那里选择 URL。另外,我发现了这个:Using VB/VBA to search Outlook messages and extract specific data into Excel worksheet它通过消息正文来选择/搜索某些东西。在我的场景中,我想合并两者,但我无法提出基本脚本。有人可以给我一些整合这两者的指导,并帮助我实现每当有新邮件到达 Outlook 邮箱时从邮件正文打开 URL 的目标。提前致谢。

4

2 回答 2

1
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
于 2013-03-01T04:32:39.197 回答
0

Alpha,我觉得这东西有点不安全,即使你的规则只有来自特定域的人。这是一个好主意,当您使用您创建的变量检查 urlstring 时(例如仅来自本地 Intranet 的链接)。

if splitWord like "my_company_internat_url" then '...
于 2015-11-18T00:11:06.690 回答