In diesem Artikel zeigen wir Ihnen eine automatische Möglichkeit, alle Hyperlinks in Ihrem Word-Dokument über VBA schnell per Batch zu validieren.
Ein Word-Dokument kann viele Hyperlinks enthalten, sogar Hunderte. Unter ihnen sind einige ungültige Links, die Sie nicht zu einer korrekten Webseite führen. Daher möchten wir Ihnen die Möglichkeit bieten, alle Links in einem Dokument über VBA schnell zu überprüfen.
Installieren und speichern Sie ein Word-Makro
- Öffnen Sie zunächst den VBA-Editor mit „Alt + F11“.
- Klicken Sie dann auf "Normal".
- Klicken Sie anschließend im Symbolleistenmenü auf die Registerkarte „Einfügen“.
- Und wählen Sie "Modul" im Menü.
- Doppelklicken Sie auf das Modul, um den Bearbeitungsbereich zu öffnen und die folgenden Codes dort einzufügen:
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
- Klicken Sie anschließend auf "Speichern".
- Weisen Sie dann dem Makro eine Schaltfläche zu. Ausführliche Informationen finden Sie in folgendem Artikel:
So entfernen Sie die Formatierung eingefügter Texte mit Makro und VBA in Ihrem Wort
Erstellen Sie ein Benutzerformular
Mit einem Benutzerformular können Sie die Gesamtzahl der Links im aktuellen Dokument, die Anzahl der ungültigen Links und weitere Details deutlich sehen.
- Klicken Sie zunächst erneut in der Symbolleiste auf "Einfügen". Wählen Sie diesmal jedoch "UserForm".
- Drücken Sie anschließend "F4", um das "Eigenschaftenfenster" in der unteren linken Ecke zu öffnen. Die Fenstergröße ist einstellbar.
- Benennen Sie das Benutzerformular nun als "frmCheckURLs".
- Legen Sie die Beschriftung als "URLs prüfen" fest.
- Stellen Sie dann die Schriftart richtig ein.
- Klicken Sie anschließend in der Symbolleiste auf die Schaltfläche "Toolbox".
- Klicken Sie nun in der Toolbox auf "Beschriftung". Ziehen Sie mit der Maus eine Rechteckbezeichnung auf das Benutzerformular.
- Klicken Sie auf die Beschriftung, um das Eigenschaftenfenster zu aktivieren. Legen Sie den Labelnamen als "lblInvalidURLs" und die Beschriftung als "Ungültige URLs:" fest.
- Wählen Sie als Nächstes die richtige Schriftart und Vorfarbe für den Beschriftungstext.
- Wählen Sie "Textfeld" in der Toolbox und fügen Sie ein Textfeld in das Benutzerformular ein. Passen Sie die Größe an.
- Setzen Sie dann den Namen des Textfelds auf "txtShowResult".
- Stellen Sie Schriftart und Vorfarbe wie gewünscht ein.
- Suchen Sie nach "MultiLine" und setzen Sie es auf "True".
- Suchen Sie nach "Bildlaufleisten" und wählen Sie eine vertikale Leiste.
- Als nächstes erstellen Sie zwei weitere Beschriftungen und Textfelder.
- Benennen Sie dann die erste Bezeichnung als "lblTotalLinks" und setzen Sie die Beschriftung als "Gesamtzahl der Links in diesem Dokument".
- Benennen Sie die zweite Bezeichnung als "lblNumberOfInvalidLinks" und legen Sie die Beschriftung als "Anzahl ungültiger Links" fest.
- Benennen Sie das erste Textfeld als "txtTotalLinks" und das zweite als "txtNumberOfInvalidLinks".
- Suchen Sie dann die Befehlsschaltflächensteuerung in der Toolbox. Erstellen Sie zwei Befehlsschaltflächen, z. B. unten:
- Nennen Sie die erste Schaltfläche "cmdbtnClose" und den Beschriftungstext "Close".
- Nennen Sie die zweite Schaltfläche "btnCloseAndHighlightInvalidURLs" und den Beschriftungstext "Close & Highlight Invalid URLs".
- Doppelklicken Sie anschließend auf die Schaltflächen "Schließen" und "Ungültige URLs schließen und hervorheben". Geben Sie die Codes wie folgt ein:
Führen Sie das Makro aus
Klicken Sie auf die Schaltfläche, die Sie dem Makro zuweisen. Hier ist der endgültige Effekt:
Detaillierte Informationen zu den fehlgeschlagenen Links finden Sie im linken großen Textfeld. Sie können das Benutzerformular auch direkt schließen oder schließen, während Sie alle fehlerhaften Links im Dokument markieren.
Gehen Sie vorsichtig mit Wortproblemen um
Word ist leicht fehleranfällig. Daher wird es extrem wichtig, Word reparieren Richtig. Meistens hilft das integrierte Tool nicht viel weiter. Daher ist die Verwendung eines Reparaturtools eines Drittanbieters die beste Wahl.
Einführung des Autors:
Vera Chen ist eine Datenrettungsexpertin in DataNumen, Inc., das weltweit führend bei Datenwiederherstellungstechnologien ist, einschließlich xlsx reparieren und pdf Reparatur von Softwareprodukten. Für weitere Informationen besuchen Sie www.datanumen.com €XNUMX








