Cómo validar por lotes todos los hipervínculos en su documento de Word a través de VBA

Comparte ahora:

En este artículo, le mostraremos una forma automática de validar rápidamente por lotes todos los hipervínculos en su documento de Word a través de VBA.

Un documento de Word puede contener muchos hipervínculos, incluso cientos. Entre ellos, algunos son enlaces no válidos que no lo llevan a una página web correcta. Por lo tanto, queremos ofrecerle la forma de verificar rápidamente todos los enlaces en un documento a través de VBA.Validar por lotes todos los hipervínculos en su documento de Word

Instalar y guardar una macro de Word

  1. En primer lugar, abra el editor de VBA con "Alt + F11".
  2. Luego haga clic en el proyecto "Normal".
  3. A continuación, haga clic en la pestaña "Insertar" en el menú de la barra de herramientas.
  4. Y elija "Módulo" en el menú.Haga clic en "Normal" -> Haga clic en "Insertar" -> Haga clic en "Módulo"
  5. Haga doble clic en el módulo para abrir el espacio de edición y pegue los siguientes códigos allí:
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. A continuación, haga clic en "Guardar".Pegar códigos-> Haga clic en "Guardar"
  2. Luego asigne un botón para la macro. Puede consultar el siguiente artículo para obtener información detallada:

Cómo eliminar el formato de los textos pegados con macro y VBA en su Word

Crear un formulario de usuario

Con un formulario de usuario, puede ver claramente el número total de enlaces en el documento actual, el número de enlaces no válidos y más detalles.

  1. En primer lugar, vuelva a hacer clic en "Insertar" en la barra de herramientas. Pero esta vez, elija "UserForm".
  2. A continuación, presione "F4" para abrir la "Ventana de propiedades" en la esquina inferior izquierda. El tamaño de la ventana es ajustable.
  3. Ahora nombre el formulario de usuario como "frmCheckURLs".
  4. Establezca el título como "Verificar URL".
  5. Luego, configure la fuente correctamente.
  6. A continuación, haga clic en el botón "Caja de herramientas" en la barra de herramientas.Haga clic en "Insertar" -> Elija "UserForm" -> Haga clic en "Ventana de propiedades" -> Establecer "Nombre", "Título", "Fuente" -> Haga clic en "Caja de herramientas"
  7. Ahora haga clic en "Etiqueta" en la caja de herramientas. Utilice el mouse para arrastrar una etiqueta rectangular en el formulario de usuario.
  8. Haga clic en la etiqueta para activar su ventana de propiedades. Establezca el nombre de la etiqueta como "lblInvalidURLs" y el título de la etiqueta como "URL no válidas:".
  9. A continuación, elija la fuente y el color de fondo adecuados para el texto del título de la etiqueta.Haga clic en "Etiqueta" -> Establecer "Nombre", "Título", "Fuente" y "ForeColor"
  10. Elija "Cuadro de texto" en la caja de herramientas e inserte un cuadro de texto en el formulario de usuario. Ajusta su tamaño.
  11. Luego, establezca el nombre del cuadro de texto como "txtShowResult".
  12. Establezca la fuente y el color de fondo como desee.
  13. Busque “MultiLine” y configúrelo como “True”.
  14. Busque "Scrollbars" y elija una barra vertical.Establecer el nombre del cuadro de texto, fuente, ForeColor -> Establecer "MultiLine" como "True" -> Elija "frmScrollBarsVertical"
  15. A continuación, cree dos etiquetas y cuadros de texto más.
  16. Luego, nombre la primera etiqueta como "lblTotalLinks" y establezca el título como "Total de enlaces en este documento".
  17. Y nombre la segunda etiqueta como "lblNumberOfInvalidLinks" y establezca el título como "Número de enlaces no válidos".
  18. Nombre el primer cuadro de texto como "txtTotalLinks" y el segundo como "txtNumberOfInvalidLinks".Cree dos etiquetas y cuadros de texto más
  19. Luego busque el control del botón de comando en la caja de herramientas. Cree dos botones de comando, como a continuación:Crear botones de comando
  20. Nombra el primer botón como "cmdbtnClose" y el texto de su título como "Cerrar".
  21. Nombra el segundo botón como "btnCloseAndHighlightInvalidURLs", y el texto de su título como "Cerrar y resaltar URL no válidas".
  22. A continuación, haga doble clic en el botón "Cerrar" y el botón "Cerrar y resaltar URL no válidas", respectivamente. Ingrese los códigos de la siguiente manera:Ingrese códigos para botones de comando

Ejecute la macro

Haga clic en el botón que asigna a la macro. Aquí está el efecto final:Efecto

Puede ver información detallada sobre cada enlace fallido en el cuadro de texto grande de la izquierda. Y puede optar por cerrar el formulario de usuario directamente o cerrarlo mientras resalta todos los enlaces rotos en el documento.

Manejar los problemas de Word con cuidado

Word es fácilmente propenso a errores. Por lo tanto, se vuelve extremadamente importante arreglar Word Correctamente. La mayoría de las veces, la herramienta integrada no es de mucha ayuda. Por lo tanto, la mejor opción es adquirir una herramienta de reparación de terceros.

Introducción del autor:

Vera Chen es experta en recuperación de datos en DataNumen, Inc., que es el líder mundial en tecnologías de recuperación de datos, incluyendo reparar xlsx y pdf reparar productos de software. Para más información visite www.datanumen.com

Comparte ahora:

Los comentarios están cerrados.