编辑超链接以从路径中删除文件名

时间:2018-05-03 00:13:28

标签: vba outlook outlook-vba

我试图更改打开的Outlook电子邮件中的超链接,以从路径中删除文件名。例如,我希望A:\ test \ folder1 \ file.txt成为A:\ test \ folder1

我们使用SharePoint Online存储文件,而且通常希望打开文件位置。修改链接可以实现这一点(我们将SharePoint映射为网络共享)。

此代码会更改整个超链接。我假设我需要在最后的反斜杠之后丢弃所有内容。

Sub HyperLinkChange()
    Dim objDoc As Object
    Dim tmpLink As Object
    On Error Resume Next
    If ActiveInspector.EditorType = olEditorWord Then
        ' use WordEditor Inspector
        Set objDoc = ActiveInspector.WordEditor
        For Each tmpLink In objDoc.Hyperlinks
            tmpLink.Address = "test123"
        Next tmpLink
    End If
End Sub

1 个答案:

答案 0 :(得分:1)

您可以使用InStrRev从结尾开始搜索反斜杠,使用Left函数截断字符串。有关详细信息,请参阅InStrRev documentationLeft documentation

添加其他变量Dim pos as Long后,找到pos = InStrRev(tmpLink.Address, "\", , vbTextCompare)的最后一个反斜杠的位置。这是从地址文本的开头开始的位置,而不是结尾。在示例地址A:\test\folder1\file.txt中,最后一个反斜杠的位置为16。

然后tmpLink.Address = Left(tmpLink.Address, pos - 1)返回该反斜杠左侧的所有内容。