Got a version of Word that uses the menu interface (Word 97, Word 2000, Word 2002, or Word 2003)? This site is for you! If you use a later version of Word, visit our WordTips site focusing on the ribbon interface.
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.
Learn more about Allen...
Please Note: This article is written for users of the following Microsoft Word versions: 97, 2000, 2002, and 2003. If you are using a later version (Word 2007 or later), this tip may not work for you. For a version of this tip written specifically for later versions of Word, click here: Getting Bookmark Information in VBA.
Assuming the insertion point is located within a bookmark, John wonders how he can use VBA to discover the name of that bookmark and to select all the text within the bookmark.
There are a couple of tricks to keep in mind when working with bookmarks. First, it is best not to assume that the insertion point is within a bookmark. Instead, you can verify if it is within a bookmark by using the following code:
BkMkCount = Selection.Bookmarks.Count
When executed, BkMkCount will contain a value indicating the number of bookmarks. If you are expecting only a single bookmark, then you can verify that the variable is equal to 1 before you proceed with your code.
If you want to figure out the name of the bookmark, then you can use the following:
BkMkName = Selection.Bookmarks(1).Name
If you then want to select all the text in the bookmark, use the following:
To bring all these concepts together you can use a structure such as the following:
BkMkCount = Selection.Bookmarks.Count If BkMkCount = 1 Then With Selection.Bookmarks(1) BkMkName =.Name .Select End With End If
WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (6557) applies to Microsoft Word 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Word (Word 2007 and later) here: Getting Bookmark Information in VBA.
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!