Graham è un copyeditor e uno dei compiti (abbastanza comuni) che deve affrontare è rimuovere http: // dagli URL che iniziano con http: // www. Graham trova facile questa operazione se l’URL è solo testo. Tuttavia, se si tratta di un collegamento ipertestuale, deve visualizzare la finestra di dialogo Modifica collegamento ipertestuale, selezionare http: // nel campo Testo da visualizzare, eliminarlo e chiudere la finestra di dialogo.

Fortunatamente, non è necessario visualizzare sempre la finestra di dialogo Modifica collegamento ipertestuale per apportare le modifiche. Anche se un collegamento ipertestuale è attivo, è possibile trovare e sostituire le informazioni in ciò che viene visualizzato. Ad esempio, la ricerca di http: // www e la sua sostituzione con www funzionerà perfettamente, anche per i collegamenti ipertestuali attivi. Word modifica solo il testo visualizzato e non il collegamento ipertestuale sottostante.

Se hai molti, molti collegamenti ipertestuali da modificare e questo troncamento degli URL è un’attività comune, potresti voler utilizzare una macro per gestirlo. È possibile sviluppare una breve macro che passi attraverso ogni collegamento ipertestuale nel documento e rimuova la parte http: //. Quello che segue è un esempio:

Sub FixHyperlinks1()

Dim hyp As Hyperlink     Dim sLink As String

For Each hyp In ActiveDocument.Hyperlinks         sLink = hyp.Address         sLink = replace(strLink, "http://www", "www")

hyp.Address = sLink     Next hyp End Sub

Tuttavia, questo approccio probabilmente non è completo come desideri. Interessa solo i collegamenti ipertestuali attivi; non influisce sugli URL di testo normale nel documento. Se vuoi usare un approccio più completo, hai bisogno di qualcosa che elimini tutti i collegamenti ipertestuali (probabilmente non ne hai bisogno nel documento in primo luogo) e poi elimini la parte http: //. Eccone uno che farà proprio questo:

Sub FixHyperlinks2()

'Remove hyperlinks     With ActiveDocument         While .Hyperlinks.Count > 0             .Hyperlinks(1).Delete         Wend     End With

'Remove http://     Selection.Find.ClearFormatting     Selection.Find.Replacement.ClearFormatting     With Selection.Find         .Text = "http://www"

.Replacement.Text = "www"

.Forward = True         .Wrap = wdFindContinue      End With     Selection.Find.Execute Replace:=wdReplaceAll End Sub

_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 (3833) si applica a Microsoft Word 97, 2000, 2002 e 2003. È possibile trovare una versione di questo suggerimento per l’interfaccia a nastro di Word (Word 2007 e più tardi) qui: