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.
Instalar y guardar una macro de Word
- En primer lugar, abra el editor de VBA con "Alt + F11".
- Luego haga clic en el proyecto "Normal".
- A continuación, haga clic en la pestaña "Insertar" en el menú de la barra de herramientas.
- Y elija "Módulo" en el menú.
- 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
- A continuación, haga clic en "Guardar".
- 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.
- En primer lugar, vuelva a hacer clic en "Insertar" en la barra de herramientas. Pero esta vez, elija "UserForm".
- A continuación, presione "F4" para abrir la "Ventana de propiedades" en la esquina inferior izquierda. El tamaño de la ventana es ajustable.
- Ahora nombre el formulario de usuario como "frmCheckURLs".
- Establezca el título como "Verificar URL".
- Luego, configure la fuente correctamente.
- A continuación, haga clic en el botón "Caja de herramientas" en la barra de herramientas.
- Ahora haga clic en "Etiqueta" en la caja de herramientas. Utilice el mouse para arrastrar una etiqueta rectangular en el formulario de usuario.
- 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:".
- A continuación, elija la fuente y el color de fondo adecuados para el texto del título de la etiqueta.
- Elija "Cuadro de texto" en la caja de herramientas e inserte un cuadro de texto en el formulario de usuario. Ajusta su tamaño.
- Luego, establezca el nombre del cuadro de texto como "txtShowResult".
- Establezca la fuente y el color de fondo como desee.
- Busque “MultiLine” y configúrelo como “True”.
- Busque "Scrollbars" y elija una barra vertical.
- A continuación, cree dos etiquetas y cuadros de texto más.
- Luego, nombre la primera etiqueta como "lblTotalLinks" y establezca el título como "Total de enlaces en este documento".
- Y nombre la segunda etiqueta como "lblNumberOfInvalidLinks" y establezca el título como "Número de enlaces no válidos".
- Nombre el primer cuadro de texto como "txtTotalLinks" y el segundo como "txtNumberOfInvalidLinks".
- Luego busque el control del botón de comando en la caja de herramientas. Cree dos botones de comando, como a continuación:
- Nombra el primer botón como "cmdbtnClose" y el texto de su título como "Cerrar".
- Nombra el segundo botón como "btnCloseAndHighlightInvalidURLs", y el texto de su título como "Cerrar y resaltar URL no válidas".
- 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:
Ejecute la macro
Haga clic en el botón que asigna a la macro. Aquí está el efecto final:
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








