Sådan batchvalideres alle hyperlinks i dit Word-dokument via VBA

I denne artikel viser vi dig en automatisk måde at hurtigt batchvalidere alle hyperlinks i dit Word -dokument via VBA.

Et Word -dokument kan indeholde mange hyperlinks, hundredvis endda. Blandt dem er nogle ugyldige links, der ikke fører dig til en korrekt webside. Således vil vi tilbyde dig mulighed for hurtigt at kontrollere alle links i et dokument via VBA.Batchvalider alle hyperlinks i dit Word -dokument

Installer og gem en Word -makro

  1. Først og fremmest skal du åbne VBA -editor med "Alt+ F11".
  2. Klik derefter på “Normal” -projektet.
  3. Klik derefter på fanen "Indsæt" i værktøjslinjemenuen.
  4. Og vælg "Module" i menuen.Klik på "Normal" -> Klik på "Indsæt" -> Klik på "Modul"
  5. Dobbeltklik på modulet for at åbne redigeringsrummet og indsæt følgende koder der:
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 derefter på "Gem".Indsæt koder-> Klik på "Gem"
  2. Tildel derefter en knap til makroen. Du kan henvise til følgende artikel for detaljerede oplysninger:

Sådan fjernes formateringen af ​​indsatte tekster med makro og VBA i dit ord

Opret en brugerformular

Med en brugerformular kan du tydeligt se det samlede antal links i det aktuelle dokument, antallet af ugyldige links og flere detaljer.

  1. Klik først på "Indsæt" på værktøjslinjen igen. Men denne gang skal du vælge "UserForm".
  2. Tryk derefter på "F4" for at åbne "Egenskabsvindue" i nederste venstre hjørne. Vinduesstørrelsen er justerbar.
  3. Navngiv nu brugerformularen som "frmCheckURLs".
  4. Indstil billedteksten som "Kontroller webadresser".
  5. Indstil derefter skrifttypen korrekt.
  6. Klik derefter på knappen "Værktøjskasse" på værktøjslinjen.Klik på "Indsæt"-> Vælg "Brugerform"-> Klik på "Egenskabsvindue"-> Indstil "Navn", "Billedtekst", "Skrifttype"-> Klik på "Værktøjskasse"
  7. Klik nu på "Etiket" i værktøjskassen. Brug musen til at trække en rektangeletiket på brugerformularen.
  8. Klik på etiketten for at aktivere ejendomsvinduet. Angiv etiketnavnet som "lblInvalidURLs", og etiketteksten som "Ugyldige webadresser:".
  9. Vælg derefter den korrekte skrifttype og forfarve til etiketteksten.Klik på "Label"-> Indstil "Name", "Caption", "Font" og "ForeColor"
  10. Vælg "Tekstboks" på værktøjskassen, og indsæt en tekstboks på brugerformularen. Juster dens størrelse.
  11. Indstil derefter tekstfeltets navn som "txtShowResult".
  12. Indstil skrifttype og forfarve efter ønske.
  13. Find "MultiLine", og indstil den "True".
  14. Find "Scrollbars", og vælg en lodret bjælke.Indstil tekstboksens navn, skrifttype, ForeColor -> Indstil "MultiLine" som "True" -> Vælg "frmScrollBarsVertical"
  15. Opret derefter yderligere to etiketter og tekstbokse.
  16. Navngiv derefter den første etiket som "lblTotalLinks" og angiv billedteksten som "Samlede links i dette dokument".
  17. Og navngiv anden etiket som "lblNumberOfInvalidLinks" og angiv billedteksten som "Antal ugyldige links".
  18. Navngiv det første tekstfelt som "txtTotalLinks", og det andet som "txtNumberOfInvalidLinks".Opret to flere etiketter og tekstbokse
  19. Find derefter kommandoknappestyring på værktøjskassen. Opret to kommandoknapper, f.eks. Nedenfor:Opret kommandoknapper
  20. Navngiv den første knap som "cmdbtnClose", og dens billedtekst som "Luk".
  21. Navngiv den anden knap som "btnCloseAndHighlightInvalidURLs", og dens billedtekst som "Luk og fremhæv ugyldige webadresser".
  22. Dobbeltklik derefter på henholdsvis knappen "Luk" og knappen "Luk og fremhæv ugyldige webadresser". Indtast koder som følger:Indtast koder til kommandoknapper

Kør makroen

Klik på den knap, du tildeler makroen. Her er den endelige effekt:Effekt

Du kan se detaljerede oplysninger om hver mislykkede links i den store store tekstboks. Og du kan vælge at lukke brugerformularen direkte eller lukke den, mens du markerer alle ødelagte links i dokumentet.

Håndter ordspørgsmål forsigtigt

Word er let tilbøjelige til fejl. Således bliver det ekstremt vigtigt at ord Word korrekt. Det meste af tiden kan det indbyggede værktøj ikke hjælpe dig så meget. Derfor er dit bedste valg at få et reparationsværktøj fra en tredjepart.

Forfatter Introduktion:

Vera Chen er en datagendannelsesekspert i DataNumen, Inc., som er verdens førende inden for datagendannelsesteknologier, herunder reparation xlsx og pdf produkter til reparation af software. For mere information besøg www.datanumen.com

Kommentarer er lukket.