Word.Tips.Net Welcome toWord.Tips.Net

Helpful Links

Tips.Net Home
WordTips Home

Ask a Word Question
Make a Comment

Tips.Net Store

WordTips FAQ
WordTips Premium

Learn Access Now
Free Printable Forms

Beauty Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Legal Tips
Money Tips
Organizing Tips
Pest Tips
Pet Tips
Wedding Tips
Word2007 Tips
WordTips

Advertise on the
WordTips Site

Newest Tips

Setting Fraction Bar Overhang Spacing in the Equation Editor

Printing On Both Sides of the Paper

Turning Off AutoComplete for Dates

Ordering Search and Replace

Understanding Auto Line Spacing

Adding Comments to Your Document

Conditional Calculations in Word

 

Getting Bookmark Information in VBA

Summary: Bookmarks are a handy way to "mark" locations within a document. If you are creating a macro that processes the document in some manner, it may be helpful for your macro to determine if the insertion point is within a macro and, if so, grab information about that bookmark. Here's the techniques you need in order to do this. (This tip works with Microsoft Word 97, Word 2000, Word 2002, Word 2003, and Word 2007.)

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:

Selection.Bookmarks(1).Select

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

Tip #6557 applies to Microsoft Word versions: 97 | 2000 | 2002 | 2003 | 2007

Great Idea! Word is a tool to get what you really want—printed output. This means you need to make sure that Word works as well as possible with your printer, whether it is sitting on your desk or in a room down the hall.
 
Check out WordTips: Printing and Printers today!