Редактирование гиперссылки для удаления имени файла из пути - PullRequest
0 голосов
/ 03 мая 2018

Я пытаюсь изменить гиперссылки в открытом письме 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 голосов
/ 03 мая 2018

Вы можете использовать InStrRev для поиска обратной косой черты, начиная с конца, и функцию Left для обрезания вашей строки. Для получения более подробной информации см. Документацию InStrRev и Оставленная документация .

После добавления дополнительной переменной Dim pos as Long найдите положение последней обратной косой черты с помощью pos = InStrRev(tmpLink.Address, "\", , vbTextCompare). Это положение начинается с начала текста адреса, а не с конца. В вашем примере адреса A:\test\folder1\file.txt позиция последней обратной косой черты равна 16.

Затем tmpLink.Address = Left(tmpLink.Address, pos - 1) возвращает все слева от обратной косой черты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...