Cum să validați în lot toate hyperlinkurile din documentul Word prin VBA

Distribuie acum:

Î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.Validați în lot toate hyperlinkurile din documentul dvs. Word

Instalați și salvați o macrocomandă Word

  1. În primul rând, deschideți editorul VBA cu „Alt+ F11”.
  2. Apoi faceți clic pe proiect „Normal”.
  3. Apoi faceți clic pe fila „Inserare” din meniul barei de instrumente.
  4. Și alegeți „Modul” din meniu.Faceți clic pe „Normal” -> Faceți clic pe „Inserare” -> Faceți clic pe „Modul”
  5. 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
  1. Apoi faceți clic pe „Salvați”.Lipiți coduri-> Faceți clic pe „Salvați”
  2. 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.

  1. În primul rând, faceți clic din nou pe „Inserați” din bara de instrumente. Dar de data aceasta, alegeți „UserForm”.
  2. Apoi apăsați „F4” pentru a deschide „Fereastra proprietăți” în colțul din stânga jos. Dimensiunea ferestrei este reglabila.
  3. Acum denumește formularul de utilizator ca „frmCheckURLs”.
  4. Setați legenda ca „Verificați adresele URL”.
  5. Apoi setați corect fontul.
  6. Apoi faceți clic pe butonul „Toolbox” din bara de instrumente.Faceți clic pe „Insert”->Alegeți „UserForm”->Faceți clic pe „Properties Window”->Set „Nume”, „Caption”, „Font”->Click „Toolbox”
  7. Acum faceți clic pe „Etichetă” în caseta de instrumente. Utilizați mouse-ul pentru a trage o etichetă dreptunghiulară pe formularul utilizatorului.
  8. 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:”.
  9. Apoi alegeți fontul și culoarea anterioară adecvate pentru textul subtitrării etichetei.Faceți clic pe „Etichetă” -> Setați „Nume”, „Letitură”, „Font” și „Color înainte”
  10. Alegeți „Text Box” în caseta de instrumente și inserați o casetă de text în formularul de utilizator. Reglați dimensiunea acestuia.
  11. Apoi setați numele casetei de text ca „txtShowResult”.
  12. Setați fontul și culoarea anterioară după cum doriți.
  13. Găsiți „MultiLine” și setați-l „True”.
  14. Găsiți „Scrollbars” și alegeți o bară verticală.Setați numele casetei de text, fontul, culoarea anterioară -> Setați „MultiLine” ca „True” -> Alegeți „frmScrollBarsVertical”
  15. Apoi creați încă două etichete și casete de text.
  16. Apoi denumiți prima etichetă ca „lblTotalLinks” și setați legenda ca „Total linkuri în acest document”.
  17. Și numiți a doua etichetă ca „lblNumberOfInvalidLinks” și setați legenda ca „Număr de linkuri invalide”.
  18. Denumiți prima casetă de text ca „txtTotalLinks”, iar a doua ca „txtNumberOfInvalidLinks”.Creați încă două etichete și casete de text
  19. Apoi găsiți controlul butonului de comandă în caseta de instrumente. Creați două butoane de comandă, cum ar fi mai jos:Creați butoane de comandă
  20. Numiți primul buton ca „cmdbtnClose”, iar textul subtitrării acestuia ca „Închidere”.
  21. Numiți cel de-al doilea buton „btnCloseAndHighlightInvalidURLs”, iar textul subtitrării acestuia „Close & Highlight Invalid URLs”.
  22. 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ă:Introduceți codurile pentru butoanele de comandă

Rulați Macro

Faceți clic pe butonul pe care îl atribuiți macrocomenzii. Iată efectul final:Efect

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

Distribuie acum:

Comentariile sunt închise.