通过 VBA 插入超链接

通过 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“...”},当然无法识别......

任何帮助都值得感激...提前谢谢!

答案1

最后我发现了问题:使用后

wdDocResults.Content.InsertAfter "some text"

-> 尽管“一些文本”很好地写入了正确的文档,但该文档似乎没有被激活。只有在执行此操作后

wrdDocResults.Activate
Selection.EndKey Unit:=wdStory

可以执行下列命令之一

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

否则,两者都不起作用。

相关内容