1

У меня есть макрос 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 "..."}, которая, конечно, не распознается ...

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

1 ответ1

0

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

wdDocResults.Content.InsertAfter "some text"

-> даже если «какой-то текст» красиво записан в нужном документе, этот документ, похоже, не активирован. Только после

wrdDocResults.Activate
Selection.EndKey Unit:=wdStory

можно сделать одну из этих команд

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .