Вставка гиперссылки через VBA

у меня есть макрос Word VBA, который циклически проходит через каталог и записывает путь к файлам, выбранным для некоторых критериев, в новый документ Word. Хорошо работает как обычный текст (как часть цикла):

wdDocResults.Content.InsertAfter objFile.Path & Chr(13)

однако, я хотел бы, чтобы они были гиперссылками. Следующее работает как один макрос, но при вызове из другого скрипта, он вообще ничего не делает (независимо от того, указан ли путь как переменная или строка, или как H:... или \MyServernameAsNetDrive...):

ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:= objFile.Path, _
SubAddress:="", ScreenTip:="", TextToDisplay:=objFile.Path

Если попытаться выбрать текущую строку, чтобы убедиться, что что-то выбрано в нужном месте - > ошибка: недостаточно памяти":

wrdDocResults.Content.InsertAfter objFil.Path
Selection.Expand wdLine
ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:= objFile.Path, _
    SubAddress:="", ScreenTip:="", TextToDisplay:=objFile.Path

Я также попытался вставить строку, похожую на код поля гиперссылки ({ Hyperlink"..."}, которая, разумеется, не признается...

любая помощь приветствуется... Заранее спасибо!

20
задан Martin
28.01.2023 19:28 Количество просмотров материала 2789
Распечатать страницу

1 ответ

наконец я нашел проблему: после использования

wdDocResults.Content.InsertAfter "some text"

-> хотя "текст" хорошо написано в нужном документе, этот документ, кажется, не активировались. Только после того, как один делает

wrdDocResults.Activate
Selection.EndKey Unit:=wdStory

можно выполнить одну из этих команд

ActiveDocument.Hyperlinks.Add Anchor:= ...
Selection.TypeText "some more text"

В противном случае оба не работают.

0
отвечен Martin 2023-01-30 03:16

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх