|
|
|
 |
The best way to select a form field using VBA
|
Article contributed by Mark Tangard
If you want to select a form field using a macro, you can use a variety of
methods; but only the least obvious method is bug-free! The line: ActiveDocument.FormFields("Text4").Range.Select or: ActiveDocument.FormFields("Text4").Select will
indeed move the cursor to the formfield called Text4,
but if that formfield is empty, it won't become highlighted, as a formfield
reached by ordinary tabbing will, and this looks very odd to the user. The
line: Selection.GoTo What:=wdGoToBookmark, Name:="Text4" will
move the cursor to Text4 and highlight the field, but in certain cases
(depending on the vertical position of the fields – and this is especially noticeable
if the formfields are in a table), that motion will cause the screen
to jump in a very annoying way, even if the destination field is visible on the
screen to start with. Fortunately, the line: ActiveDocument.Bookmarks("Text4").Range.Fields(1).Result.Select will
move the cursor to Text4 and highlight the entire field. The screen will not
jump unless the Text4
field is not fully visible to begin with. Convoluted, but it works! Related articles
How to set the tab order of a Word form
How to validate the contents of a formfield in a Word form |