In dit artikel laten we u een automatische manier zien om snel alle hyperlinks in uw Word-document via VBA batchgewijs te valideren.
Een Word-document kan veel hyperlinks bevatten, honderden zelfs. Onder hen zijn enkele ongeldige links die u niet naar een juiste webpagina leiden. Daarom willen we je de manier bieden om snel alle links in een document via VBA te checken.
Installeer en bewaar een Word-macro
- Open allereerst de VBA-editor met "Alt + F11".
- Klik vervolgens op "Normaal" project.
- Klik vervolgens op het tabblad "Invoegen" in het werkbalkmenu.
- En kies "Module" in het menu.
- Dubbelklik op de module om de bewerkingsruimte te openen en plak de volgende codes daar:
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
- Klik vervolgens op "Opslaan".
- Wijs vervolgens een knop toe aan de macro. U kunt het volgende artikel raadplegen voor gedetailleerde informatie:
Hoe u de opmaak van geplakte teksten met macro en VBA in uw Word kunt verwijderen
Maak een gebruikersformulier
Met een gebruikersformulier kunt u duidelijk het totale aantal links in het huidige document, het aantal ongeldige links en meer details zien.
- Klik eerst nogmaals op "Invoegen" op de werkbalk. Maar kies deze keer voor "UserForm".
- Druk vervolgens op "F4" om "Eigenschappenvenster" te openen in de linker benedenhoek. De venstergrootte is verstelbaar.
- Noem het gebruikersformulier nu "frmCheckURLs".
- Stel het bijschrift in als "Controleer URL's".
- Stel vervolgens het lettertype correct in.
- Klik vervolgens op de knop "Toolbox" op de werkbalk.
- Klik nu op “Label” op de toolbox. Gebruik de muis om een rechthoekig label op het gebruikersformulier te slepen.
- Klik op het label om het eigenschappenvenster te activeren. Stel de labelnaam in als "lblInvalidURLs", en labelbijschrift als "Ongeldige URL's:".
- Kies vervolgens het juiste lettertype en forecolor voor de tekst van het label.
- Kies "Tekstvak" in de toolbox en voeg een tekstvak in op het gebruikersformulier. Pas de grootte aan.
- Stel vervolgens de naam van het tekstvak in als "txtShowResult".
- Stel het lettertype en de forecolor naar wens in.
- Zoek "MultiLine" en stel deze in op "True".
- Zoek "Scrollbars" en kies een verticale balk.
- Maak vervolgens nog twee labels en tekstvakken.
- Noem dan het eerste label als "lblTotalLinks" en stel het onderschrift in als "Totaal aantal links in dit document".
- En noem het tweede label als "lblNumberOfInvalidLinks" en stel het onderschrift in als "Aantal ongeldige links".
- Noem het eerste tekstvak "txtTotalLinks" en het tweede als "txtNumberOfInvalidLinks".
- Zoek vervolgens de opdrachtknopbediening in de toolbox. Maak twee opdrachtknoppen, zoals hieronder:
- Noem de eerste knop als "cmdbtnClose", en de bijschrifttekst als "Close".
- Noem de tweede knop als "btnCloseAndHighlightInvalidURLs", en de bijschrifttekst als "Close & Highlight Invalid URLs".
- Dubbelklik vervolgens op respectievelijk de knop "Sluiten" en de knop "Sluiten en markeren ongeldige URL's". Voer codes als volgt in:
Voer de macro uit
Klik op de knop die u aan de macro toewijst. Hier is het uiteindelijke effect:
U kunt gedetailleerde informatie over elke mislukte link zien in het grote tekstvak aan de linkerkant. En u kunt ervoor kiezen om het gebruikersformulier direct te sluiten of het te sluiten terwijl u alle verbroken koppelingen in het document markeert.
Ga zorgvuldig om met Word-problemen
Word is gemakkelijk vatbaar voor fouten. Het wordt dus extreem belangrijk om Word repareren Correct. Meestal biedt het ingebouwde gereedschap niet veel hulp. Daarom is een reparatietool van een derde partij de beste optie.
Auteur Introductie:
Vera Chen is een expert op het gebied van gegevensherstel in DataNumen, Inc., de wereldleider in technologieën voor gegevensherstel, waaronder reparatie xlsx en pdf reparatie softwareproducten. Voor meer informatie bezoek www.datanumen.com








