Making Hyperlinks from Coded Text

by Allen Wyatt
(last updated May 20, 2017)

2

Jim's Word documents have a lot of URLs that are not active hyperlinks. Each URL is "bracketed" by the text [lt] and [gt]. So, for instance, a URL might appear as [lt]https://www.tips.net[gt]. Jim wonders if there is a way that a macro could find the text between the bracket codes, create a hyperlink from the found text, and then delete the bracket codes.

Searching for such instances is a snap if you use the wildcard capabilities of Find and Replace. All you need to do is search for "[lt]*[gt]" (without the quote marks) and make sure that you specify you are doing a wildcard search. The tricky part comes in getting rid of the bracket codes and making whatever was between them into an active hyperlink.

To do all of this in one pass, you really need to use a macro, as Jim suspected. Even so, the macro doesn't need to be terribly complex. Here's an example of one that will do the trick:

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

Note that whenever a match is found (in the Do While loop), there are two commands that do the bulk of the work. The first is this one:

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

This command line sets the selection equal to the selection minus the beginning and ending bracket codes. In effect, it deletes the bracket codes, leaving whatever was in the middle. This is a slick little trick that precludes the need to perform a separate find-and-replace operation to get rid of the bracket codes.

After the removal of the bracket codes, the next line is executed:

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

This line converts the remaining selection (which should be a text-only hyperlink) into an active hyperlink.

The macro is short, sweet, and runs extremely quickly, regardless of how many coded hyperlinks you have in your document.

Note:

If you would like to know how to use the macros described on this page (or on any other page on the WordTips sites), I've prepared a special page that includes helpful information. Click here to open that special page in a new browser tab.

WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (672) applies to Microsoft Word 2007, 2010, 2013, and 2016.

Author Bio

Allen Wyatt

With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He is president of Sharon Parq Associates, a computer and publishing services company. ...

MORE FROM ALLEN

Copying a Hyperlink to Lots of Worksheets

Copying information from one place to another in a worksheet is easy. Copying hyperlinks may not seem that easy, but you ...

Discover More

Invalid Names when Opening Workbook

Don't you hate opening a workbook and seeing error messages? If you see a message that some "invalid names" were detected ...

Discover More

Strange Message about Others Making Changes in a Workbook

Have you ever tried to save a workbook, only to be notified that someone else has made changes in it? What if you are the ...

Discover More

Comprehensive VBA Guide Visual Basic for Applications (VBA) is the language used for writing macros in all Office programs. This complete guide shows both professionals and novices how to master VBA in order to customize the entire Office suite for their needs. Check out Mastering VBA for Office 2010 today!

More WordTips (ribbon)

Adding a ScreenTip

Need to add a ScreenTip to your document? It's easy to do, provided you are adding a hyperlink.

Discover More

Turning Off HTML Conversions

Don't want Word to load up your HTML documents as formatted text? There are a couple of ways you can instruct Word to be ...

Discover More

ScreenTips without Hyperlinks

ScreenTips can be a helpful feature in some documents, but adding them also means you need to add a hyperlink. Here's a ...

Discover More
Subscribe

FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."

View most recent newsletter.

Comments

If you would like to add an image to your comment (not an avatar, but an image to help in making the point of your comment), include the characters [{fig}] in your comment text. You’ll be prompted to upload your image when you submit the comment. Maximum image size is 6Mpixels. Images larger than 600px wide or 1000px tall will be reduced. Up to three images may be included in a comment. All images are subject to review. Commenting privileges may be curtailed if inappropriate images are posted.

What is three minus 0?

2017-05-22 11:07:29

Andrew

Instead of the ActiveDocument.Hyperlinks.Add command, couldn't you also use the following to have Word add it for you (with the advantage this method could be more generally used by accessing the whole panopoly of autoformat/autocorrect options?

Options.AutoFormatAsYouTypeReplaceHyperlinks = True ' Optional since this is normally already set to true
Selection.Range.AutoFormat

Andy.


2017-05-20 11:27:51

Jim Lyons

Sweet! Thank you so much! -- Jim


This Site

Got a version of Word that uses the ribbon interface (Word 2007 or later)? This site is for you! If you use an earlier version of Word, visit our WordTips site focusing on the menu interface.

Newest Tips
Subscribe

FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."

(Your e-mail address is not shared with anyone, ever.)

View the most recent newsletter.