Ihor vuole automatizzare l’inserimento di un collegamento ipertestuale URL in un documento di Word. L’URL verrà associato a una frase, ad esempio “fai clic qui”. Prima copia l’URL di un sito Web specifico negli Appunti.

Quindi registra una macro che apre la finestra di dialogo Inserisci collegamento ipertestuale (Ctrl + K) e incolla nel campo appropriato l’URL dagli Appunti (Ctrl + V) e fa clic su OK. Quando in seguito esegue la macro, gli fornisce lo stesso URL ogni volta che la esegue. Ihor vuole incollare un URL diverso nella finestra di dialogo ogni volta che esegue la macro, ma sembra non sapere come farlo.

Quando si registra una macro, è molto letterale ciò che fa: registra esattamente i passaggi che si eseguono, incluso il modo in cui vengono compilate le finestre di dialogo. La soluzione non è cercare modi per incollare nuove informazioni in una finestra di dialogo, ma guardare come stai creando il tuo collegamento ipertestuale.

Ecco cosa verrebbe registrato se inserissi un collegamento ipertestuale con il registratore di macro in esecuzione:

Sub Macro1()

' ' Macro1 Macro ' '     ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:= _         "//", SubAddress:="", ScreenTip:="", TextToDisplay:= _         "click here"

End Sub

Quello che Ihor vuole cambiare è la destinazione del collegamento ipertestuale, che è assegnato alla proprietà Address; questo è ciò che viene “incollato” nel campo Indirizzo della finestra di dialogo. Per fare questo, potresti cambiare la tua macro in un modo semplice, come questo:

Sub Macro2()

Dim sTemp As String     sTemp = "//"



ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, _       Address:= sTemp, SubAddress:="", ScreenTip:="", _       TextToDisplay:= "click here"

End Sub

Tutto ciò che è stato fatto in questo esempio è stato eliminare alcuni dei commenti non necessari all’inizio della macro e creare una variabile stringa, sTemp, che ora contiene l’obiettivo per il collegamento ipertestuale. Questa variabile viene quindi assegnata alla proprietà Indirizzo. Per cambiare il target, quindi, è sufficiente cambiare il valore della variabile sTemp e ci sono molti modi in cui questo può essere fatto.

Un modo è usare una funzione InputBox per creare la tua finestra di dialogo, in questo modo:

Sub Macro3()

Dim sTemp As String     Dim sPrompt As String     Dim sTitle As String

sPrompt = "Enter the target for the hyperlink"

sTitle = "Hyperlink Destination"

sTemp = "//"

sTemp = InputBox(sPrompt, sTitle, sTemp)



ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, _       Address:= sTemp, SubAddress:="", ScreenTip:="", _       TextToDisplay:= "click here"

End Sub

Naturalmente, Ihor ha detto che nel suo processo copia effettivamente l’URL negli Appunti. Se questo è il processo che desidera utilizzare, è possibile assegnare l’URL in base a ciò che è negli Appunti quando viene eseguita la macro. Ecco come lo faresti:

Sub Macro4()

Dim sTemp As String     Dim MyData As DataObject     Set MyData = New DataObject

MyData.GetFromClipboard     sTemp = Trim(MyData.GetText(1))



ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, _       Address:= sTemp, SubAddress:="", ScreenTip:="", _       TextToDisplay:= "click here"

End Sub

Per utilizzare gli Appunti in questo modo, è necessario impostare un riferimento per Microsoft Forms nell’editor VBA. (Scegli Riferimenti dal menu Strumenti nell’Editor.)

Notare inoltre che tutti questi esempi modificano ciò che è assegnato alla proprietà Address del nuovo collegamento ipertestuale. C’è una buona possibilità che tu voglia cambiare la macro per modificare anche ciò che è assegnato alla proprietà TextToDisplay.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti WordTips), ho preparato una pagina speciale che include informazioni utili.

WordTips è la tua fonte di formazione economica su Microsoft Word.

(Microsoft Word è il software di elaborazione testi più popolare al mondo.) Questo suggerimento (11906) si applica a Microsoft Word 2007, 2010, 2013, 2016, 2019 e Word in Office 365. Puoi trovare una versione di questo suggerimento per vecchia interfaccia del menu di Word qui: