2015-06-09 5 views
0

У меня есть три слова. Первые имеют следующую структуру:Заменить гиперссылку на текст из связанного документа

Text 
Hyperlink 
Text 
Hyperlink 

попытку выполнить следующую marcro: Открыть документ 1, цикл throu гиперссылка. Откройте гиперссылки документов и вставьте текст в документы, где находится гиперссылка в документе 1.

Что я достиг еще является

Dim hLink As Hyperlink 
Dim doc As Document 
'Loop throu all hyperlinks 
    For Each hLink In ThisDocument.Hyperlinks 
     'Set objectref to document behind hyperlink 
     Set doc = Documents.Open(hLink.Address) 
     'AAAAnd Close it. 
     doc.Close 
    Next 

Моя проблема в том, что я не знаю, как поместить текст открытого документа, в котором гиперссылка и удалить гиперссылку. Для последующих учеников документ 1 должен быть гибким, чтобы пользователь мог вставлять гиперссылки, а функциональность вставки все еще работает.

Я думал об удалении гиперссылки и размещении закладки в той же позиции, название закладки, вставить текст и удалить закладку после этого, но я не получаю замену гиперссылки на закладку. Я нашел гиперссылку. Range.Bookmarks Property, но не использовал ее для моих целей. Кто может помочь мне сделать это?

ответ

2
Dim i As Long 

For i = ThisDocument.Hyperlinks.Count To 1 Step -1 
    Dim link As Hyperlink, r As Range, addr As String 

    Set link = ThisDocument.Hyperlinks(i) 
    Set r = link.Range 
    addr = link.Address 

    link.Delete 
    r.InsertFile addr 
Next 
+0

Это работает перфект. Большое спасибо! – ruedi

Смежные вопросы