Dans cet article, nous allons vous montrer un moyen automatique de valider rapidement par lots tous les hyperliens de votre document Word via VBA.
Un document Word peut contenir de nombreux liens hypertexte, voire des centaines. Parmi eux, certains sont des liens invalides qui ne vous conduisent pas à une page Web correcte. Ainsi, nous voulons vous offrir la possibilité de vérifier rapidement tous les liens d'un document via VBA.
Installer et enregistrer une macro Word
- Tout d'abord, ouvrez l'éditeur VBA avec "Alt + F11".
- Cliquez ensuite sur le projet "Normal".
- Cliquez ensuite sur l'onglet "Insérer" dans le menu de la barre d'outils.
- Et choisissez "Module" dans le menu.
- Double-cliquez sur le module pour ouvrir l'espace d'édition et collez-y les codes suivants :
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
- Cliquez ensuite sur "Enregistrer".
- Attribuez ensuite un bouton à la macro. Vous pouvez vous référer à l'article suivant pour des informations détaillées :
Comment supprimer le formatage des textes collés avec macro et VBA dans votre mot
Créer un formulaire utilisateur
Avec un formulaire utilisateur, vous pouvez clairement voir le nombre total de liens dans le document actuel, le nombre de liens invalides et plus de détails.
- Tout d'abord, cliquez à nouveau sur "Insérer" dans la barre d'outils. Mais cette fois, choisissez "UserForm".
- Appuyez ensuite sur « F4 » pour ouvrir la « Fenêtre des propriétés » dans le coin inférieur gauche. La taille de la fenêtre est réglable.
- Nommez maintenant le formulaire utilisateur « frmCheckURLs ».
- Définissez la légende sur "Vérifier les URL".
- Ensuite, définissez la police correctement.
- Cliquez ensuite sur le bouton "Boîte à outils" dans la barre d'outils.
- Cliquez maintenant sur "Label" dans la boîte à outils. Utilisez la souris pour faire glisser une étiquette rectangulaire sur le formulaire utilisateur.
- Cliquez sur l'étiquette pour activer sa fenêtre de propriétés. Définissez le nom de l'étiquette sur "lblInvalidURLs" et la légende de l'étiquette sur "URL non valides :".
- Choisissez ensuite la police et la couleur de fond appropriées pour le texte de la légende de l'étiquette.
- Choisissez "Zone de texte" dans la boîte à outils et insérez une zone de texte dans le formulaire utilisateur. Ajustez sa taille.
- Définissez ensuite le nom de la zone de texte sur "txtShowResult".
- Définissez la police et la première couleur comme vous le souhaitez.
- Trouvez « MultiLine » et définissez-le sur « True ».
- Recherchez "Barres de défilement" et choisissez une barre verticale.
- Créez ensuite deux autres étiquettes et zones de texte.
- Ensuite, nommez la première étiquette comme "lblTotalLinks" et définissez la légende comme "Total des liens dans ce document".
- Et nommez la deuxième étiquette comme "lblNumberOfInvalidLinks" et définissez la légende comme "Nombre de liens invalides".
- Nommez la première zone de texte comme "txtTotalLinks", et la seconde comme "txtNumberOfInvalidLinks".
- Ensuite, recherchez le contrôle du bouton de commande sur la boîte à outils. Créez deux boutons de commande, comme ci-dessous :
- Nommez le premier bouton "cmdbtnClose" et son texte de légende "Fermer".
- Nommez le deuxième bouton "btnCloseAndHighlightInvalidURLs" et son texte de légende "Close & Highlight Invalid URLs".
- Ensuite, double-cliquez sur le bouton "Fermer" et sur le bouton "Fermer et mettre en surbrillance les URL non valides" respectivement. Entrez les codes comme suit :
Exécutez la macro
Cliquez sur le bouton que vous affectez à la macro. Voici l'effet final :
Vous pouvez voir des informations détaillées sur chaque lien défaillant dans la grande zone de texte de gauche. Et vous pouvez choisir de fermer directement le formulaire utilisateur ou de le fermer tout en mettant en surbrillance tous les liens rompus dans le document.
Gérez les problèmes de mots avec soin
Word est facilement sujet aux erreurs. Ainsi, il devient extrêmement important de réparer Word En effet, la plupart du temps, l'outil intégré ne vous sera pas d'une grande aide. Par conséquent, la meilleure solution consiste à vous procurer un outil de réparation tiers.
Introduction de l'auteur:
Vera Chen est une experte en récupération de données dans DataNumen, Inc., qui est le leader mondial des technologies de récupération de données, y compris réparation xlsx et pdf réparer les produits logiciels. Pour plus d'informations, visitez www.datanumen.com








