SYMPTOMS
When you create a macro that runs on exit from a form field, and the following conditions are all true:
- Your forms document contains an unprotected section.
- You have set a bookmark in the unprotected section of the forms document.
- The macro uses a command or set of commands to go to the bookmark in the unprotected section of the forms document.
The insertion point does not go to the bookmark you set in the unprotected section of your document.
WORKAROUND
Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements.
To work around this problem, you can use the Visual Basic for Applications
OnTime method.
The following example Visual Basic for Applications macros demonstrate this workaround:
This workaround requires two macros. The first macro, OnExitMacro, runs the
OnTime method, which calls the second macro, GotoBookMark. The GotoBookMark macro moves the insertion point to the bookmarked location in the unprotected section of the forms document.
Sub OnExitMacro()
Application.OnTime When:=Now + TimeValue("00:00:01"), _
Name:="GotoBookMark"
End Sub
Sub GotoBookMark()
Selection.GoTo wdGoToBookmark, Name:="<Replace with Your Bookmark Name>"
System.Cursor = wdCursorNormal ' Changes cursor from
' hourglass to normal cursor
End Sub