VBA: невозможно изменить свойство SubAddress гиперссылок в документе Word - PullRequest
0 голосов
/ 12 ноября 2018

Я пытаюсь исправить гиперссылки в документе Word.Мне нужно изменить свойство SubAddress некоторых гиперссылок.С этой целью я перебираю их.К сожалению, я получаю очень странную ошибку, говоря method 'subaddress' of object 'hyperlink' failed, когда пытаюсь изменить любой дополнительный адрес.Очевидно, это происходит потому, что что-то не работает с самим VBA.

Sub FixHyperlinks()
'
' FixHyperlinks Macro
'
'
ActiveDocument.Hyperlinks(1).SubAddress = "some new subaddress"
End Sub

Я качаю Office 2016 Professional Plus.Кто-нибудь может сказать мне, если это работает для вас?

Это легко проверить.Просто создайте новый документ, введите две строки из одного слова.Сделайте вторую линию стиля «Заголовок 1».Перейдите к первой строке, нажмите CTRK + K (чтобы создать гиперссылку), укажите «место в этом документе», выберите только что созданный заголовок.НЕ вводите какой-либо адрес.Теперь перейдите к макросам, вставьте вышеприведенный код и нажмите F5, когда ваша каретка находится внутри кода.

Гиперссылка отлично работает при щелчке мышью (гиперссылка в первой строке приведет вас к заголовку 2-й строки).

1 Ответ

0 голосов
/ 13 ноября 2018

Несмотря на то, что свойство Hyperlink.SubAddress должно быть строкой для чтения / записи, запись в него не удалась - даже в Word 2010. Попробуйте что-то вроде:

Dim Rng As Range, StrAddr As String, StrTxt As String
With ActiveDocument
  With .Hyperlinks(1)
    Set Rng = .Range
    StrAddr = .Address
    StrTxt = .TextToDisplay
    .Delete
  End With
  .Hyperlinks.Add Anchor:=Rng, Address:=StrAddr, SubAddress:="new_sub_address"
End With
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...