Primeiro, selecione o link existente que você criou e copie-o. Em seguida, execute essa macro, que localizará todas as ocorrências de "TheWordToLink" e cole o link nesses locais.
Sub PasteHyperlinks
Dim vDescriptor, vFound, oVC
Dim document, dispatcher
oVC = ThisComponent.CurrentController.ViewCursor
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
vDescriptor = ThisComponent.createSearchDescriptor()
With vDescriptor
.SearchString = "TheWordToLink"
.SearchWords = True
.SearchCaseSensitive = False
End With
vFound = ThisComponent.findFirst(vDescriptor)
Do While Not IsNull(vFound)
oVC.gotoRange(vFound, False)
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
vFound = ThisComponent.findNext( vFound.End, vDescriptor)
Loop
End Sub
O código de busca e substituição foi retirado da seção 7.14 do documento macro de Andrew Pitonyak .
Em relação às variáveis de ambiente, isso requer uma solução mais difícil. Ou seja, chame uma macro do link e, em seguida, a macro executará a chamada do sistema para o arquivo. Se você estiver usando o Basic:
- Consulte o link para saber como fazer com que um hiperlink chame uma macro.
- Consulte Criando links automáticos no OpenOffice para obter um código que possa encontrar e criar os hiperlinks .
- Consulte o link para uma macro que usa uma variável de ambiente em um caminho.
- Consulte o link para as chamadas do sistema.