我是编写VBA脚本的新手。实际上,我正在尝试编写一个小的VBA脚本,该脚本将通过新收到的电子邮件,扫描邮件正文并打开所有网址(我的目标是此脚本以获取始终包含单个URL的邮件)像IE或FF或Chrome这样的网络浏览器。我尝试在SO和Google上寻找类似的Q.我在这里找到了一个:How to launch a URL when an email arrives,它是关于如何在电子邮件到达时打开URL。但它始终打开一个固定的URL,而不是通过邮件正文并从那里选择URL。另外,我发现:Using VB/VBA to search Outlook messages and extract specific data into Excel worksheet通过邮件正文来选择/搜索某些内容。在我的场景中,我想巩固两者,但我无法想出一个基本的脚本。当有新邮件到达Outlook邮箱时,有人可以给我指点整合两者并帮助我实现从邮件正文中打开URL的目标。提前谢谢。
答案 0 :(得分: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
答案 1 :(得分:0)
阿尔法,我的事情有点不安全,即使你的规则只是来自特定领域的人。 这是一个好主意,当您使用您创建的变量检查urlstring时(例如仅从本地Intranet链接)。
if splitWord like "my_company_internat_url" then '...