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.
Installer og gem en Word -makro
- Først og fremmest skal du åbne VBA -editor med "Alt+ F11".
- Klik derefter på “Normal” -projektet.
- Klik derefter på fanen "Indsæt" i værktøjslinjemenuen.
- Og vælg "Module" i menuen.
- 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
- Klik derefter på "Gem".
- 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.
- Klik først på "Indsæt" på værktøjslinjen igen. Men denne gang skal du vælge "UserForm".
- Tryk derefter på "F4" for at åbne "Egenskabsvindue" i nederste venstre hjørne. Vinduesstørrelsen er justerbar.
- Navngiv nu brugerformularen som "frmCheckURLs".
- Indstil billedteksten som "Kontroller webadresser".
- Indstil derefter skrifttypen korrekt.
- Klik derefter på knappen "Værktøjskasse" på værktøjslinjen.
- Klik nu på "Etiket" i værktøjskassen. Brug musen til at trække en rektangeletiket på brugerformularen.
- Klik på etiketten for at aktivere ejendomsvinduet. Angiv etiketnavnet som "lblInvalidURLs", og etiketteksten som "Ugyldige webadresser:".
- Vælg derefter den korrekte skrifttype og forfarve til etiketteksten.
- Vælg "Tekstboks" på værktøjskassen, og indsæt en tekstboks på brugerformularen. Juster dens størrelse.
- Indstil derefter tekstfeltets navn som "txtShowResult".
- Indstil skrifttype og forfarve efter ønske.
- Find "MultiLine", og indstil den "True".
- Find "Scrollbars", og vælg en lodret bjælke.
- Opret derefter yderligere to etiketter og tekstbokse.
- Navngiv derefter den første etiket som "lblTotalLinks" og angiv billedteksten som "Samlede links i dette dokument".
- Og navngiv anden etiket som "lblNumberOfInvalidLinks" og angiv billedteksten som "Antal ugyldige links".
- Navngiv det første tekstfelt som "txtTotalLinks", og det andet som "txtNumberOfInvalidLinks".
- Find derefter kommandoknappestyring på værktøjskassen. Opret to kommandoknapper, f.eks. Nedenfor:
- Navngiv den første knap som "cmdbtnClose", og dens billedtekst som "Luk".
- Navngiv den anden knap som "btnCloseAndHighlightInvalidURLs", og dens billedtekst som "Luk og fremhæv ugyldige webadresser".
- Dobbeltklik derefter på henholdsvis knappen "Luk" og knappen "Luk og fremhæv ugyldige webadresser". Indtast koder som følger:
Kør makroen
Klik på den knap, du tildeler makroen. Her er den endelige 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








