我的VBA脚本正在搜索Word文档中的特定文本,如果找到的文本包含超链接,我还想将超链接复制到新文档。
我试过(source是一个单词表,所以是目的地):
With source.Cell(1,1).Range
.Find.Text = "MyTextToSearch
.Find.Execute Forward:=True
.Select
.Copy
End With
destination.Cells(1).Range.Paste
文本将复制到目标但没有超链接。 当我使用查找和复制并粘贴(通过GUI)在Word中执行相同操作时,所有内容都将复制到目标
有什么建议吗?
答案 0 :(得分:0)
Word会查找未在文档中搜索的文本,但是在超级链接中。因此,当您复制文本时,您将获得找到的文本,如果您想要超链接,则必须指定要复制的超链接。以下代码对此进行了区分。
Dim Rng As Word.Range
Dim Fnd As Boolean
Set Rng = ActiveDocument.Tables(1).Cell(1, 1).Range
With Rng
.Find.Text = "This is my text"
Fnd = .Find.Execute(Forward:=True)
End With
If Fnd Then
If Rng.Hyperlinks.Count Then
Set Rng = Rng.Hyperlinks(1).Range
End If
Rng.Copy
ActiveDocument.Tables(1).Cell(5, 1).Range.Paste
End If