Batch valideren van alle hyperlinks in uw Word-document via VBA

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.Batch valideer alle hyperlinks in uw Word-document

Installeer en bewaar een Word-macro

  1. Open allereerst de VBA-editor met "Alt + F11".
  2. Klik vervolgens op "Normaal" project.
  3. Klik vervolgens op het tabblad "Invoegen" in het werkbalkmenu.
  4. En kies "Module" in het menu.Klik op "Normaal" -> Klik op "Invoegen" -> Klik op "Module"
  5. 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
  1. Klik vervolgens op "Opslaan".Plak codes-> Klik op "Opslaan"
  2. 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.

  1. Klik eerst nogmaals op "Invoegen" op de werkbalk. Maar kies deze keer voor "UserForm".
  2. Druk vervolgens op "F4" om "Eigenschappenvenster" te openen in de linker benedenhoek. De venstergrootte is verstelbaar.
  3. Noem het gebruikersformulier nu "frmCheckURLs".
  4. Stel het bijschrift in als "Controleer URL's".
  5. Stel vervolgens het lettertype correct in.
  6. Klik vervolgens op de knop "Toolbox" op de werkbalk.Klik op "Invoegen" -> Kies "Gebruikersformulier" -> Klik op "Eigenschappenvenster" -> Stel "Naam", "Bijschrift", "Lettertype" in -> Klik op "Toolbox"
  7. Klik nu op “Label” op de toolbox. Gebruik de muis om een ​​rechthoekig label op het gebruikersformulier te slepen.
  8. Klik op het label om het eigenschappenvenster te activeren. Stel de labelnaam in als "lblInvalidURLs", en labelbijschrift als "Ongeldige URL's:".
  9. Kies vervolgens het juiste lettertype en forecolor voor de tekst van het label.Klik op "Label" -> Stel "Naam", "Bijschrift", "Lettertype" en "ForeColor" in
  10. Kies "Tekstvak" in de toolbox en voeg een tekstvak in op het gebruikersformulier. Pas de grootte aan.
  11. Stel vervolgens de naam van het tekstvak in als "txtShowResult".
  12. Stel het lettertype en de forecolor naar wens in.
  13. Zoek "MultiLine" en stel deze in op "True".
  14. Zoek "Scrollbars" en kies een verticale balk.Stel de naam, het lettertype en de ForeColor van het tekstvak in -> Stel "MultiLine" in als "True" -> Kies "frmScrollBarsVertical"
  15. Maak vervolgens nog twee labels en tekstvakken.
  16. Noem dan het eerste label als "lblTotalLinks" en stel het onderschrift in als "Totaal aantal links in dit document".
  17. En noem het tweede label als "lblNumberOfInvalidLinks" en stel het onderschrift in als "Aantal ongeldige links".
  18. Noem het eerste tekstvak "txtTotalLinks" en het tweede als "txtNumberOfInvalidLinks".Maak nog twee labels en tekstvakken
  19. Zoek vervolgens de opdrachtknopbediening in de toolbox. Maak twee opdrachtknoppen, zoals hieronder:Maak opdrachtknoppen
  20. Noem de eerste knop als "cmdbtnClose", en de bijschrifttekst als "Close".
  21. Noem de tweede knop als "btnCloseAndHighlightInvalidURLs", en de bijschrifttekst als "Close & Highlight Invalid URLs".
  22. Dubbelklik vervolgens op respectievelijk de knop "Sluiten" en de knop "Sluiten en markeren ongeldige URL's". Voer codes als volgt in:Voer codes in voor opdrachtknoppen

Voer de macro uit

Klik op de knop die u aan de macro toewijst. Hier is het uiteindelijke effect: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

Reacties zijn gesloten.