2017-10-10 80 views
0

我的VBA脚本正在搜索Word文档中的特定文本,如果找到的文本包含超链接,我想将超链接也复制到新文档。复制发现的文本包括超链接到新文档

我试图做(来源是字表等为目的地):

With source.Cell(1,1).Range 
    .Find.Text = "MyTextToSearch 
    .Find.Execute Forward:=True 
    .Select 
    .Copy 
End With 
destination.Cells(1).Range.Paste 

的文本复制到目标,但没有超链接。 当我在Word中使用查找和复制粘贴(通过GUI)完成相同的操作时,所有内容都被复制到目的地

任何建议?

回答

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 
+0

谢谢。完美工作 – micMike

相关问题