This documentation is archived and is not being maintained.

Application.DocumentBeforeClose Event

Office 2007
Occurs immediately before any open document closes.


expression.DocumentBeforeClose(Doc, Cancel)

expression   A variable that represents an Application object.


NameRequired/OptionalData TypeDescription
DocRequiredDocumentThe document that is being closed.
CancelRequiredBooleanFalse when the event occurs. If the event procedure sets this argument to True, the document does not close when the procedure is finished.


To access the Application object events, declare an Application object variable in the General Declarations section of a code module. Then set the variable equal to the Application object for which you want to access events. For information about using events with the Microsoft Office Publisher Application object, see Using Events with the Application Object .


This example prompts the user for a yes or no response before closing a document. To see this example work, this code must be placed in a class module and an instance of the class must be correctly initialized, using an example similar to the SetPubApp routine below.

Visual Basic for Applications
Private WithEvents PubApp As Application

Sub SetPubApp()
    Set PubApp = Publisher.Application
End Sub

Private Sub PubApp_DocumentBeforeClose(ByVal Doc As Document, Cancel As Boolean)

    Dim intResponse As Integer

    intResponse = MsgBox("Do you really want to close " _
        & "the document?", vbYesNo)

    If intResponse = vbNo Then Cancel = True

End Sub