W tym artykule pokażemy Ci automatyczny sposób szybkiego zbiorczego sprawdzania poprawności wszystkich hiperłączy w dokumencie Word za pośrednictwem VBA.
Dokument Word może zawierać wiele hiperłączy, a nawet setki. Niektóre z nich to nieprawidłowe linki, które nie prowadzą do właściwej strony internetowej. Dlatego chcemy zaoferować Ci sposób szybkiego sprawdzenia wszystkich linków w dokumencie za pośrednictwem VBA.
Zainstaluj i zapisz makro programu Word
- Przede wszystkim otwórz edytor VBA za pomocą „Alt + F11”.
- Następnie kliknij „Normalny” projekt.
- Następnie kliknij zakładkę „Wstaw” w menu paska narzędzi.
- I wybierz z menu „Moduł”.
- Kliknij dwukrotnie moduł, aby otworzyć przestrzeń edycyjną i wklej tam następujące kody:
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
- Następnie kliknij „Zapisz”.
- Następnie przypisz przycisk do makra. Szczegółowe informacje można znaleźć w następującym artykule:
Jak usunąć formatowanie wklejonych tekstów za pomocą makra i VBA w swoim słowie
Utwórz formularz użytkownika
Dzięki formularzowi użytkownika możesz wyraźnie zobaczyć całkowitą liczbę linków w bieżącym dokumencie, liczbę nieprawidłowych linków i więcej szczegółów.
- Po pierwsze, ponownie kliknij „Wstaw” na pasku narzędzi. Ale tym razem wybierz „UserForm”.
- Następnie naciśnij „F4”, aby otworzyć „Okno właściwości” w lewym dolnym rogu. Rozmiar okna jest regulowany.
- Teraz nazwij formularz użytkownika jako „frmCheckURLs”.
- Ustaw podpis jako „Sprawdź adresy URL”.
- Następnie ustaw poprawnie czcionkę.
- Następnie kliknij przycisk „Przybornik” na pasku narzędzi.
- Teraz kliknij „Etykieta” w przyborniku. Za pomocą myszy przeciągnij prostokątną etykietę na formularzu użytkownika.
- Kliknij etykietę, aby aktywować okno jej właściwości. Ustaw nazwę etykiety na „lblInvalidURLs” i oznacz podpis jako „Nieprawidłowe adresy URL:”.
- Następnie wybierz odpowiednią czcionkę i kolor początkowy dla tekstu podpisu etykiety.
- Wybierz „Pole tekstowe” w przyborniku i wstaw pole tekstowe w formularzu użytkownika. Dostosuj jego rozmiar.
- Następnie ustaw nazwę pola tekstowego jako „txtShowResult”.
- Ustaw żądaną czcionkę i kolor przedniego koloru.
- Znajdź „MultiLine” i ustaw „True”.
- Znajdź „Paski przewijania” i wybierz pionowy pasek.
- Następnie utwórz jeszcze dwie etykiety i pola tekstowe.
- Następnie nazwij pierwszą etykietę „lblTotalLinks” i ustaw podpis jako „Łączna liczba linków w tym dokumencie”.
- I nazwij drugą etykietę jako „lblNumberOfInvalidLinks” i ustaw podpis jako „Liczba nieprawidłowych linków”.
- Nazwij pierwsze pole tekstowe jako „txtTotalLinks”, a drugie jako „txtNumberOfInvalidLinks”.
- Następnie znajdź sterowanie przyciskiem poleceń w przyborniku. Utwórz dwa przyciski poleceń, takie jak poniżej:
- Nazwij pierwszy przycisk „cmdbtnClose”, a jego podpis jako „Zamknij”.
- Nazwij drugi przycisk jako „btnCloseAndHighlightInvalidURLs”, a tekst podpisu jako „Zamknij i wyróżnij nieprawidłowe adresy URL”.
- Następnie dwukrotnie kliknij odpowiednio przycisk „Zamknij” i „Zamknij i zaznacz nieprawidłowe adresy URL”. Wprowadź kody w następujący sposób:
Uruchom makro
Kliknij przycisk przypisany do makra. Oto efekt końcowy:
Możesz zobaczyć szczegółowe informacje o każdym nieudanym łączu w lewym dużym polu tekstowym. Możesz też zamknąć formularz użytkownika bezpośrednio lub zamknąć go, zaznaczając wszystkie uszkodzone łącza w dokumencie.
Ostrożnie rozwiązuj problemy z programem Word
Word jest łatwo podatny na błędy. Dlatego niezwykle ważne staje się, aby naprawić Word Poprawnie. W większości przypadków wbudowane narzędzie nie jest w stanie Ci pomóc. Dlatego najlepszym rozwiązaniem jest skorzystanie z narzędzia innej firmy.
Wprowadzenie autora:
Vera Chen jest ekspertem w dziedzinie odzyskiwania danych w DataNumen, Inc., która jest światowym liderem w technologiach odzyskiwania danych, w tym napraw xlsx i pdf oprogramowanie do naprawy. po więcej informacji odwiedź www.datanumen.com








