V tomto článku vám ukážeme automatický způsob, jak rychle dávkově ověřit všechny hypertextové odkazy v dokumentu aplikace Word prostřednictvím jazyka VBA.
Dokument aplikace Word může obsahovat mnoho hypertextových odkazů, dokonce stovky. Mezi nimi jsou některé neplatné odkazy, které vás nedovedou na správnou webovou stránku. Proto vám chceme nabídnout způsob, jak rychle zkontrolovat všechny odkazy v dokumentu prostřednictvím VBA.
Nainstalujte a uložte makro Word
- Nejprve otevřete editor VBA pomocí „Alt+ F11“.
- Poté klikněte na „Normální“ projekt.
- Dále klikněte na kartu „Vložit“ v nabídce panelu nástrojů.
- V nabídce vyberte „Modul“.
- Dvojitým kliknutím na modul otevřete prostor pro úpravy a vložte do něj následující kódy:
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
- Dále klikněte na „Uložit“.
- Poté makru přiřaďte tlačítko. Podrobné informace naleznete v následujícím článku:
Jak odebrat formátování vložených textů pomocí maker a VBA ve vašem Wordu
Vytvořte uživatelský formulář
Pomocí uživatelského formuláře můžete jasně vidět celkový počet odkazů v aktuálním dokumentu, počet neplatných odkazů a další podrobnosti.
- Nejprve znovu klikněte na „Vložit“ na panelu nástrojů. Tentokrát však zvolte „UserForm“.
- Poté stiskněte "F4" pro otevření "Okno vlastností" v levém dolním rohu. Velikost okna je nastavitelná.
- Nyní pojmenujte uživatelský formulář jako „frmCheckURLs“.
- Nastavte titulek jako „Zkontrolovat adresy URL“.
- Poté správně nastavte písmo.
- Dále klikněte na tlačítko „Toolbox“ na panelu nástrojů.
- Nyní klikněte na „Label“ na panelu nástrojů. Pomocí myši přetáhněte obdélníkový štítek na formuláři uživatele.
- Kliknutím na štítek aktivujete jeho okno vlastností. Nastavte název štítku jako „lblInvalidURLs“ a titulek štítku jako „Neplatné adresy URL:“.
- Dále zvolte správné písmo a barvu popředí pro text titulku štítku.
- Vyberte „Textové pole“ na panelu nástrojů a vložte textové pole do formuláře uživatele. Upravte jeho velikost.
- Poté nastavte název textového pole jako „txtShowResult“.
- Nastavte písmo a barvu popředí podle potřeby.
- Najděte „MultiLine“ a nastavte jej na „True“.
- Najděte „Posuvníky“ a vyberte svislý pruh.
- Dále vytvořte dva další štítky a textová pole.
- Poté pojmenujte první štítek jako „lblTotalLinks“ a nastavte titulek jako „Celkový počet odkazů v tomto dokumentu“.
- A pojmenujte druhý štítek jako „lblNumberOfInvalidLinks“ a nastavte popisek jako „Počet neplatných odkazů“.
- První textové pole pojmenujte jako „txtTotalLinks“ a druhé jako „txtNumberOfInvalidLinks“.
- Poté na panelu nástrojů najděte ovládací prvek příkazového tlačítka. Vytvořte dvě příkazová tlačítka, například níže:
- První tlačítko pojmenujte jako „cmdbtnClose“ a text jeho titulku jako „Zavřít“.
- Druhé tlačítko pojmenujte jako „btnCloseAndHighlightInvalidURLs“ a text jeho titulku jako „Zavřít a zvýraznit neplatné adresy URL“.
- Dále dvakrát klikněte na tlačítko „Zavřít“ a „Zavřít a zvýraznit neplatné adresy URL“. Zadejte kódy následovně:
Spusťte makro
Klepněte na tlačítko, které přiřadíte makru. Zde je konečný efekt:
V levém velkém textovém poli můžete vidět podrobné informace o každém neúspěšném odkazu. A můžete se rozhodnout zavřít uživatelský formulář přímo nebo jej zavřít a zároveň zvýraznit všechny nefunkční odkazy v dokumentu.
Řešte problémy se slovy opatrně
Word je snadno náchylný k chybám. Tím se stává extrémně důležitým opravit Word správně. Vestavěný nástroj vám většinou moc nepomůže. Proto je vaší nejlepší volbou pořídit si nástroj pro opravu od třetí strany.
Úvod autora:
Vera Chen je expertka na obnovu dat DataNumen, Inc., která je světovým lídrem v oblasti technologií pro obnovu dat, včetně opravit xlsx a pdf opravy softwarových produktů. Pro více informací navštivte www.datanumen.com








