Jims Word-Dokumente enthalten viele URLs, die keine aktiven Hyperlinks sind.

Jede URL wird durch den Text [lt] und [gt] in Klammern gesetzt. So kann beispielsweise eine URL als [lt] `link: / https: – www.tips.net% 5Bgt% 5D angezeigt werden. Jim fragt sich, ob es eine Möglichkeit gibt, wie ein Makro den Text zwischen den Klammercodes finden, einen Hyperlink aus dem gefundenen Text erstellen und dann die Klammercodes löschen kann.

Das Suchen nach solchen Instanzen ist ein Kinderspiel, wenn Sie die Platzhalterfunktionen von Suchen und Ersetzen verwenden. Sie müssen lediglich nach „[lt]` * [gt] „suchen (ohne Anführungszeichen) und sicherstellen, dass Sie angeben, dass Sie eine Platzhaltersuche durchführen. Der schwierige Teil besteht darin, die Klammercodes zu entfernen und alles, was sich zwischen ihnen befand, in einen aktiven Hyperlink zu verwandeln.

Um all dies in einem Durchgang zu erledigen, müssen Sie wirklich ein Makro verwenden, wie Jim vermutet hat. Trotzdem muss das Makro nicht besonders komplex sein.

Hier ist ein Beispiel für eines, das den Trick macht:

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

Beachten Sie, dass jedes Mal, wenn eine Übereinstimmung gefunden wird (in der Do While-Schleife), zwei Befehle den Großteil der Arbeit erledigen. Der erste ist dieser:

Selection = Mid(Selection, 5, Len(Selection) - 8)

Diese Befehlszeile setzt die Auswahl gleich der Auswahl abzüglich der Anfangs- und Endklammercodes. Tatsächlich werden die Klammercodes gelöscht, wobei alles in der Mitte verbleibt. Dies ist ein schlauer kleiner Trick, der die Notwendigkeit ausschließt, einen separaten Such- und Ersetzungsvorgang durchzuführen, um die Klammercodes zu entfernen.

Nach dem Entfernen der Klammercodes wird die nächste Zeile ausgeführt:

ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, _           Address:=Selection, SubAddress:=""

Diese Zeile konvertiert die verbleibende Auswahl (die ein Nur-Text-Hyperlink sein sollte) in einen aktiven Hyperlink.

Das Makro ist kurz, süß und läuft extrem schnell, unabhängig davon, wie viele codierte Hyperlinks Sie in Ihrem Dokument haben.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der WordTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

WordTips ist Ihre Quelle für kostengünstige Microsoft Word-Schulungen.

(Microsoft Word ist die beliebteste Textverarbeitungssoftware der Welt.) Dieser Tipp (672) gilt für Microsoft Word 2007, 2010, 2013 und 2016.