In questo articolo, ti mostreremo un modo automatico per convalidare rapidamente in batch tutti i collegamenti ipertestuali nel tuo documento Word tramite VBA.
Un documento di Word può contenere molti collegamenti ipertestuali, anche centinaia. Tra questi, alcuni sono link non validi che non portano a una pagina web corretta. Pertanto, vogliamo offrirti il modo di controllare rapidamente tutti i collegamenti in un documento tramite VBA.
Installa e salva una macro di Word
- Prima di tutto, apri l'editor VBA con "Alt + F11".
- Quindi fare clic su progetto "Normale".
- Quindi fai clic sulla scheda "Inserisci" nel menu della barra degli strumenti.
- E scegli "Modulo" nel menu.
- Fare doppio clic sul modulo per aprire lo spazio di modifica e incollare i seguenti codici:
Function CheckURL(strURL As String) As Boolean
Dim objDemand As Object
Dim varResult As Variant
On Error GoTo ErrorHandler
Set objDemand = CreateObject("WinHttp.WinHttpRequest.5.1")
With objDemand
.Open "GET", strURL, False
.Send
varResult = .StatusText
End With
Set objDemand = Nothing
If varResult = "OK" Then
CheckURL = True
Else
CheckURL = False
End If
ErrorHandler:
End Function
Sub ReturnURLCheck()
Dim objLink As Hyperlink
Dim strLinkText As String
Dim strLinkAddress As String
Dim strResult As String
Dim nInvalidLink As Integer, nTotalLinks As Integer
Dim objDoc As Document
Application.ScreenUpdating = False
Set objDoc = ActiveDocument
nTotalLinks = objDoc.Hyperlinks.Count
nInvalidLink = 0
With objDoc
For Each objLink In .Hyperlinks
strLinkText = objLink.Range.Text
strLinkAddress = objLink.Address
If Not CheckURL(strLinkAddress) Then
nInvalidLink = nInvalidLink + 1
strResult = frmCheckURLs.txtShowResult.Text
frmCheckURLs.txtShowResult.Text = strResult & nInvalidLink & ". Invalid Link Information:" & vbNewLine & _
"Displayed Text: " & strLinkText & vbNewLine & _
"Address: " & strLinkAddress & vbNewLine & vbNewLine
End If
Next objLink
frmCheckURLs.txtTotalLinks.Text = nTotalLinks
frmCheckURLs.txtNumberOfInvalidLinks.Text = nInvalidLink
frmCheckURLs.Show Modal
End With
Application.ScreenUpdating = True
End Sub
Sub HighlightInvalidLinks()
Dim objLink As Hyperlink
Dim strLinkAddress As String
Dim strResult As String
Dim objDoc As Document
Set objDoc = ActiveDocument
With objDoc
For Each objLink In .Hyperlinks
strLinkAddress = objLink.Address
If Not CheckURL(strLinkAddress) Then
objLink.Range.HighlightColorIndex = wdYellow
End If
Next objLink
End With
End Sub
- Quindi fai clic su "Salva".
- Quindi assegna un pulsante per la macro. È possibile fare riferimento al seguente articolo per informazioni dettagliate:
Come rimuovere la formattazione dei testi incollati con macro e VBA in Your Word
Crea un modulo utente
Con un modulo utente, puoi vedere chiaramente il numero totale di collegamenti nel documento corrente, il numero di collegamenti non validi e ulteriori dettagli.
- Innanzitutto, fai di nuovo clic su "Inserisci" nella barra degli strumenti. Ma questa volta, scegli "UserForm".
- Quindi premi "F4" per aprire "Finestra Proprietà" nell'angolo in basso a sinistra. La dimensione della finestra è regolabile.
- Ora assegna al modulo utente il nome "frmCheckURLs".
- Imposta la didascalia come "Controlla URL".
- Quindi imposta correttamente il carattere.
- Quindi fai clic sul pulsante "Casella degli strumenti" nella barra degli strumenti.
- Ora fai clic su "Etichetta" nella casella degli strumenti. Usa il mouse per trascinare un'etichetta rettangolare sul modulo utente.
- Fare clic sull'etichetta per attivare la relativa finestra delle proprietà. Impostare il nome dell'etichetta come "lblInvalidURLs" e la didascalia dell'etichetta come "Invalid URLs:".
- Successivamente, scegli il carattere e il colore di base corretti per il testo della didascalia dell'etichetta.
- Scegli "Casella di testo" nella casella degli strumenti e inserisci una casella di testo nel modulo utente. Regola le sue dimensioni.
- Quindi imposta il nome della casella di testo come "txtShowResult".
- Imposta carattere e colore di primo piano come desiderato.
- Trova "MultiLine" e impostalo su "True".
- Trova "Barre di scorrimento" e scegli una barra verticale.
- Quindi crea altre due etichette e caselle di testo.
- Quindi denominare la prima etichetta come "lblTotalLinks" e impostare la didascalia come "Totale collegamenti in questo documento".
- E denominare la seconda etichetta come "lblNumberOfInvalidLinks" e impostare la didascalia come "Numero di collegamenti non validi".
- Denominare la prima casella di testo come "txtTotalLinks" e la seconda come "txtNumberOfInvalidLinks".
- Quindi trova il controllo del pulsante di comando nella casella degli strumenti. Crea due pulsanti di comando, come qui sotto:
- Denominare il primo pulsante come "cmdbtnClose" e il testo della didascalia come "Close".
- Denominare il secondo pulsante come "btnCloseAndHighlightInvalidURLs" e il testo della didascalia come "Chiudi ed evidenzia URL non validi".
- Quindi fai doppio clic rispettivamente sul pulsante "Chiudi" e sul pulsante "Chiudi ed evidenzia URL non validi". Inserisci i codici come segue:
Esegui la macro
Fare clic sul pulsante assegnato alla macro. Ecco l'effetto finale:
Puoi visualizzare informazioni dettagliate su ciascun collegamento non riuscito nella grande casella di testo a sinistra. E puoi scegliere di chiudere direttamente il modulo utente o chiuderlo evidenziando tutti i collegamenti interrotti nel documento.
Gestisci i problemi di Word con attenzione
Word è facilmente soggetto a errori. Così diventa estremamente importante correggere Parola correttamente. Nella maggior parte dei casi, lo strumento integrato non può esserti di grande aiuto. Pertanto, la scelta migliore è quella di procurarsi uno strumento di riparazione di terze parti.
Introduzione dell'autore:
Vera Chen è un'esperta di recupero dati in DataNumen, Inc., che è il leader mondiale nelle tecnologie di recupero dati, tra cui riparare xlsx and pdf riparare prodotti software. Per maggiori informazioni visita www.datanumen.com








