Création d’hyperliens à partir de texte codé (Microsoft Word)
Les documents Word de Jim ont de nombreuses URL qui ne sont pas des hyperliens actifs.
Chaque URL est « entre crochets » par le texte [lt] et [gt]. Ainsi, par exemple, une URL peut apparaître sous la forme [lt] `link: / https: – www.tips.net% 5Bgt% 5D. Jim se demande s’il existe un moyen pour une macro de trouver le texte entre les codes entre crochets, de créer un lien hypertexte à partir du texte trouvé, puis de supprimer les codes entre crochets.
La recherche de telles instances est un jeu d’enfant si vous utilisez les fonctionnalités génériques de Rechercher et remplacer. Tout ce que vous avez à faire est de rechercher « [lt]` * [gt] « (sans les guillemets) et de vous assurer que vous spécifiez que vous effectuez une recherche par caractères génériques. La partie la plus délicate consiste à se débarrasser des codes de parenthèses et à transformer tout ce qui se trouvait entre eux en un lien hypertexte actif.
Pour faire tout cela en un seul passage, vous devez vraiment utiliser une macro, comme Jim le soupçonnait. Même ainsi, la macro n’a pas besoin d’être terriblement complexe.
Voici un exemple qui fera l’affaire:
Sub AddHyperLinksAndClearBrackets() Selection.Find.ClearFormatting With Selection.Find .Text = "\[lt\]*\[gt\]" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = True .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Do While Selection.Find.Found Selection = Mid(Selection, 5, Len(Selection) - 8) ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, _ Address:=Selection, SubAddress:="" Selection.Find.Execute Loop End Sub
Notez que chaque fois qu’une correspondance est trouvée (dans la boucle Do While), il existe deux commandes qui effectuent la majeure partie du travail. Le premier est celui-ci:
Selection = Mid(Selection, 5, Len(Selection) - 8)
Cette ligne de commande définit la sélection égale à la sélection moins les codes de crochet de début et de fin. En effet, il supprime les codes de parenthèse, laissant ce qui était au milieu. C’est une petite astuce astucieuse qui évite d’avoir à effectuer une opération de recherche et de remplacement distincte pour se débarrasser des codes de parenthèse.
Après la suppression des codes parenthèses, la ligne suivante est exécutée:
ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, _ Address:=Selection, SubAddress:=""
Cette ligne convertit la sélection restante (qui doit être un lien hypertexte contenant uniquement du texte) en un lien hypertexte actif.
La macro est courte, douce et s’exécute extrêmement rapidement, quel que soit le nombre d’hyperliens codés que vous avez dans votre document.
_Note: _
Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites WordTips), j’ai préparé une page spéciale qui comprend des informations utiles.
lien: / wordribbon-WordTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur]
.
WordTips est votre source pour une formation Microsoft Word rentable.
(Microsoft Word est le logiciel de traitement de texte le plus populaire au monde.) Cette astuce (672) s’applique à Microsoft Word 2007, 2010, 2013 et 2016.