Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA脚本自动操作电子邮件中的第一个超链接_Vba_Email_Outlook_Outlook 2010 - Fatal编程技术网

VBA脚本自动操作电子邮件中的第一个超链接

VBA脚本自动操作电子邮件中的第一个超链接,vba,email,outlook,outlook-2010,Vba,Email,Outlook,Outlook 2010,我对这个很陌生,所以请温柔一点。我正在使用outlook 2010,我需要一个vba脚本来自动定位和操作电子邮件中的第一个超链接。我可以使用outlook邮箱规则选择此脚本,但无法编写它。任何帮助都将不胜感激 我得到了这个,但它只打开电子邮件中的URL,而不是第一个超链接 Sub LaunchURL(itm As MailItem) Dim bodyString As String Dim bodyStringSplitLine Dim bodyStringSplitW

我对这个很陌生,所以请温柔一点。我正在使用outlook 2010,我需要一个vba脚本来自动定位和操作电子邮件中的第一个超链接。我可以使用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

LaunchURL代码专门用于URL可见的地方,如下所示 ,例如在纯文本邮件中

在隐藏链接的地方,您可以选择文本,将其带到存在链接的Word


编辑:发现不去Word更简单

Public Sub FollowLinkAddress(itm As Outlook.MailItem)

Dim oDoc As Object
Dim h

Set itm = ActiveInspector.CurrentItem

If itm.GetInspector.EditorType = olEditorWord Then

    Set oDoc = itm.GetInspector.WordEditor

    For Each h In oDoc.Hyperlinks
        h.Follow
    Next

End If

End Sub

你能解释一下到目前为止你尝试了什么以及你遇到的具体问题吗?这是一个面向专业和热心程序员的问答网站,你很可能会发现这里的人不愿意只编写代码来解决你的问题,因为这相当于免费做一份熟练的工作。我得到了这个,但它在电子邮件中打开了现有的URL,而不是第一个超链接,要解决您的特定问题,您需要在
Shell
下面添加
Exit Sub
,这将导致子例程在第一个URL打开后立即退出。然而,这个问题(本质上是“如何尽早结束子例程/函数?”)非常琐碎,不太可能对StackOverflow的未来用户有任何用处,所以我不指望你的问题会一直存在,这就是为什么我没有给出完整的答案,而是留下了这个评论。谢谢你的解释和指导,但我不知道该怎么做。是否可以修改现有脚本以反映这些说明?