În acest articol, vă vom arăta o modalitate automată de a valida rapid toate hyperlinkurile din documentul Word prin VBA.
Un document Word poate conține multe hyperlinkuri, chiar sute. Printre acestea, unele sunt link-uri nevalide care nu vă conduc la o pagină web corectă. Astfel, dorim să vă oferim modalitatea de a verifica rapid toate linkurile dintr-un document prin VBA.
Instalați și salvați o macrocomandă Word
- În primul rând, deschideți editorul VBA cu „Alt+ F11”.
- Apoi faceți clic pe proiect „Normal”.
- Apoi faceți clic pe fila „Inserare” din meniul barei de instrumente.
- Și alegeți „Modul” din meniu.
- Faceți dublu clic pe modul pentru a deschide spațiul de editare și inserați următoarele coduri acolo:
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
- Apoi faceți clic pe „Salvați”.
- Apoi atribuiți un buton pentru macrocomandă. Puteți consulta următorul articol pentru informații detaliate:
Cum să eliminați formatarea textelor lipite cu macro și VBA în Word
Creați un formular de utilizator
Cu un formular de utilizator, puteți vedea clar numărul total de linkuri din documentul curent, numărul de linkuri nevalide și mai multe detalii.
- În primul rând, faceți clic din nou pe „Inserați” din bara de instrumente. Dar de data aceasta, alegeți „UserForm”.
- Apoi apăsați „F4” pentru a deschide „Fereastra proprietăți” în colțul din stânga jos. Dimensiunea ferestrei este reglabila.
- Acum denumește formularul de utilizator ca „frmCheckURLs”.
- Setați legenda ca „Verificați adresele URL”.
- Apoi setați corect fontul.
- Apoi faceți clic pe butonul „Toolbox” din bara de instrumente.
- Acum faceți clic pe „Etichetă” în caseta de instrumente. Utilizați mouse-ul pentru a trage o etichetă dreptunghiulară pe formularul utilizatorului.
- Faceți clic pe etichetă pentru a activa fereastra proprietăților acesteia. Setați numele etichetei ca „lblInvalidURLs”, iar legenda etichetei ca „Adrese URL invalide:”.
- Apoi alegeți fontul și culoarea anterioară adecvate pentru textul subtitrării etichetei.
- Alegeți „Text Box” în caseta de instrumente și inserați o casetă de text în formularul de utilizator. Reglați dimensiunea acestuia.
- Apoi setați numele casetei de text ca „txtShowResult”.
- Setați fontul și culoarea anterioară după cum doriți.
- Găsiți „MultiLine” și setați-l „True”.
- Găsiți „Scrollbars” și alegeți o bară verticală.
- Apoi creați încă două etichete și casete de text.
- Apoi denumiți prima etichetă ca „lblTotalLinks” și setați legenda ca „Total linkuri în acest document”.
- Și numiți a doua etichetă ca „lblNumberOfInvalidLinks” și setați legenda ca „Număr de linkuri invalide”.
- Denumiți prima casetă de text ca „txtTotalLinks”, iar a doua ca „txtNumberOfInvalidLinks”.
- Apoi găsiți controlul butonului de comandă în caseta de instrumente. Creați două butoane de comandă, cum ar fi mai jos:
- Numiți primul buton ca „cmdbtnClose”, iar textul subtitrării acestuia ca „Închidere”.
- Numiți cel de-al doilea buton „btnCloseAndHighlightInvalidURLs”, iar textul subtitrării acestuia „Close & Highlight Invalid URLs”.
- Apoi faceți dublu clic pe butonul „Închidere” și, respectiv, pe butonul „Închideți și evidențiați adrese URL nevalide”. Introduceți codurile după cum urmează:
Rulați Macro
Faceți clic pe butonul pe care îl atribuiți macrocomenzii. Iată efectul final:
Puteți vedea informații detaliate despre fiecare link eșuat în caseta de text mare din stânga. Și puteți alege să închideți formularul de utilizator direct sau să îl închideți în timp ce evidențiați toate linkurile rupte din document.
Gestionați cu atenție problemele Word
Cuvântul este ușor predispus la erori. Astfel, devine extrem de important să remediați Word corect. De cele mai multe ori, instrumentul încorporat nu te poate ajuta prea mult. Prin urmare, prima ta opțiune este să achiziționezi un instrument de reparare de la o terță parte.
Introducerea autorului:
Vera Chen este expertă în recuperarea datelor DataNumen, Inc., care este lider mondial în tehnologiile de recuperare a datelor, inclusiv reparați xlsx și pdf repararea produselor software. Pentru mai multe informații vizitați www.datanumen.com








