Article ID: 181177
Article Last Modified on 11/23/2006
Sub OnEntry()
Dim sOpenStatus As String
' An error occurs the first time this macro is
' run because the document variable does not yet exist,
' so we just resume to the next line (the If...Then...Else
' statement).
On Error Resume Next
' Get the value of the document variable DocOpen,
' and put the value into the string variable sOpenStatus.
sOpenStatus = ActiveDocument.Variables("DocOpen")
If sOpenStatus = "" Then
' On the first run of this macro, the value of
' sOpenStatus will be Null because it does not
' yet exist, so we create the document variable and
' set the value to "Already Open."
ActiveDocument.Variables.Add Name:="DocOpen", _
Value:="Already Open"
ElseIf sOpenStatus = "Just Opened" Then
' If the value of the document variable equals "Just Opened,"
' do not run the other code section of this macro
' and make the document variable equal "Already Open."
ActiveDocument.Variables("DocOpen").Value = "Already Open"
Else
' Other code section runs ONLY if the variable
' sOpenStatus equals "Already Open." Place your
' code here that you want to run when the
' form field is tabbed to or clicked on.
' <<< Your OnEntry Code Goes Here >>>
End If
End Sub
This macro must be used in combination with the OnEntry macro to set the
document variable DocOpen to "Just Opened," so the next time the document
is opened we do not run the other code section of the OnEntry macro
included earlier in this article.
Sub AutoClose()
' This sets the value to "Just Opened" so
' the next time the document is opened
' we do not run the other code.
ActiveDocument.Variables("DocOpen").Value = "Just Opened"
End Sub
181058 OFF98: How to Run Sample Code from Knowledge Base Articles
163435 VBA: Programming Resources for Visual Basic for Applications
Keywords: kbdtacode kbhowto KB181177