Application. ExitScope-Ereignis (Visio)Application.ExitScope event (Visio)

Wird in die Warteschlange aufgenommen, wenn ein interner Befehl endet oder wenn ein Automatisierungsclient mithilfe der EndUndoScope -Methode einen Bereich verlässt.Queued when an internal command ends, or when an Automation client exits a scope by using the EndUndoScope method.

SyntaxSyntax

Ausdruck. ExitScope (App, nScopeID, bstrDescription, bErrOrCancelled)expression.ExitScope (app, nScopeID, bstrDescription, bErrOrCancelled)

expression Eine Variable, die ein Application-Objekt darstellt.expression A variable that represents an Application object.

ParameterParameters

NameName Erforderlich/OptionalRequired/Optional DatentypData type BeschreibungDescription
Appapp ErforderlichRequired [IVAPPLICATION][IVAPPLICATION] Die Instanz von Microsoft Visio, die den Bereich enthält.The instance of Microsoft Visio that contains the scope.
nScopeIDnScopeID ErforderlichRequired LongLong Eine sprachunabhängige Nummer, die den soeben geendeten Vorgang beschreibt, oder die Bereichs-ID, die von der BeginUndoScope -Methode zurückgegeben wird.A language-independent number that describes the operation that just ended, or the scope ID returned by the BeginUndoScope method.
bstrDescriptionbstrDescription RequiredRequired StringString Eine Textbeschreibung des Vorgangs, die in verschiedenen Sprachversionen variiert.A textual description of the operation that changes in different language versions. Enthält die Benutzeroberflächenbeschreibung eines Visio-Vorgangs oder die Beschreibung, die an die BeginUndoScope-Methode übergeben wird.Contains the UI description of a Visio operation or the description passed to the BeginUndoScope method.
bErrOrCancelledbErrOrCancelled ErforderlichRequired BooleanBoolean True, wenn im Bereich ein Fehler auftrat oder der Bereich abgebrochen wurde. False, wenn kein Fehler auftrat und der Bereich nicht abgebrochen wurde.True if there was an error during the scope or if the scope was canceled; False if there wasn't an error and it wasn't canceled.

BemerkungenRemarks

Der im Fall einer Visio-Operation zurückgegebene Wert nScopeID entspricht den befehlsbezogenen Konstanten, die mit * * visCmd * * * beginnen.The nScopeID value returned in the case of a Visio operation is the equivalent of the command-related constants that begin with **visCmd***.

Wenn Sie Microsoft Visual Basic oder Visual Basic für Applikationen (VBA) verwenden, beschreibt die Syntax in diesem Thema eine gängige und effiziente Methode zum Verarbeiten von Ereignissen.If you are using Microsoft Visual Basic or Visual Basic for Applications (VBA), the syntax in this topic describes a common, efficient way to handle events.

Wenn Sie eigene Event -Objekte erstellen möchten, verwenden Sie die Add - oder AddAdvise-Methode.If you want to create your own Event objects, use the Add or AddAdvise method.

Verwenden Sie zum Erstellen eines Event-Objekts, das ein Add-On ausführt, die Add-Methode der EventList-Auflistung.To create an Event object that runs an add-on, use the Add method as it applies to the EventList collection.

Verwenden Sie zum Erstellen eines Event-Objekts, das eine Benachrichtigung empfängt, die AddAdvise-Methode.To create an Event object that receives notification, use the AddAdvise method.

Informationen zum Suchen eines Ereigniscodes für das Ereignis, das Sie erstellen möchten, finden Sie unter Ereigniscodes.To find an event code for the event that you want to create, see Event codes.

Wenn Sie dieses Ereignis von einem Programm aus verarbeiten, das eine Benachrichtigung über eine mit der AddAdvise-Methodeerstellte Verbindung empfängt, gehört das ExitScope -Ereignis zu einer Gruppe ausgewählter Ereignisse, die zusätzliche Informationen in der EventInfo aufzeichnen. -Eigenschaft des Application -Objekts.If you are handling this event from a program that receives a notification over a connection created by using the AddAdvise method, the ExitScope event is one of a group of selected events that record extra information in the EventInfo property of the Application object.

Die EventInfo -Eigenschaft gibt _bstrDescription_zurück, wie zuvor beschrieben.The EventInfo property returns bstrDescription, as described previously. Darüber hinaus enthält das varMoreInfo -Argument für VisEventProc eine Zeichenfolge, die wie [<nScopeID>;<bErrOrCancelled>;<bstrDescription>;<nHwndContext>]folgt formatiert ist:, wobei nHwndContext das Fensterhandle (HWND) des Fensters ist, das der Kontext für den Befehl ist; nHwndContext kann 0 sein.In addition, the varMoreInfo argument to VisEventProc contains a string formatted as follows: [<nScopeID>;<bErrOrCancelled>;<bstrDescription>;<nHwndContext>], where nHwndContext is the window handle (HWND) of the window that is the context for the command; nHwndContext could be 0.

bErrOrCancelled ist für ExitScope ungleich Null, wenn der Vorgang fehlgeschlagen ist oder abgebrochen wurde.For ExitScope, bErrOrCancelled is non-zero if the operation failed or was canceled.

BeispielExample

Dieses Beispiel zeigt die Verwendung des ExitScope-Ereignisses.This example shows how to use the ExitScope event. Das Beispiel bestimmt, ob ein Aufruf einer Prozedur, die das Cello -Ereignis behandelt, sich in einem bestimmten Bereich befindet; Das heißt, ob der Aufruf zwischen den EnterScope -und ExitScope -Ereignissen für diesen Bereich erfolgt.The example determines whether a call to a procedure that handles the CellChanged event is in a particular scope; that is, whether the call occurs between the EnterScope and ExitScope events for that scope.

 
Private WithEvents vsoApplication As Visio.Application 
Private lngScopeID AsLong 
 
Public Sub Scope_Example() 
 
 Dim vsoShape As Visio.Shape 
 
 'Set the module-level application variable to 
 'trap application-level events. 
 Set vsoApplication = Application 
 
 'Begin a scope. 
 lngScopeID = Application.BeginUndoScope("Draw Shapes") 
 
 'Draw three shapes. 
 Set vsoShape = ActivePage.DrawRectangle(1, 2, 2, 1) 
 ActivePage.DrawOval 3, 4, 4, 3 
 ActivePage.DrawLine 4, 5, 5, 4 
 
 'Change a cell (to trigger a CellChanged event). 
 vsoShape.Cells("Width").Formula = 5 
 
 'End and commit this scope. 
 Application.EndUndoScope lngScopeID, True 
 
End Sub 
 
Private Sub vsoApplication_CellChanged(ByVal Cell As IVCell) 
 
 'Check to see if this cell change is the result of something 
 'happening within the scope. 
 If vsoApplication.IsInScope(lngScopeID) Then 
 Debug.Print Cell.Name & " changed in scope "; lngScopeID 
 End If 
 
End Sub 
 
Private Sub vsoApplication_EnterScope(ByVal app As IVApplication, _ 
 ByVal nScopeID As Long, _ 
 ByVal bstrDescription As String) 
 
 If vsoApplication.CurrentScope = lngScopeID Then 
 Debug.Print "Entering my scope " & nScopeID 
 Else 
 Debug.Print "Enter Scope " & bstrDescription & "(" & nScopeID & ")" 
 End If 
 
End Sub 
 
Private Sub vsoApplication_ExitScope(ByVal app As IVApplication, _ 
 ByVal nScopeID As Long, _ 
 ByVal bstrDescription As String, _ 
 ByVal bErrOrCancelled As Boolean) 
 
 If vsoApplication.CurrentScope = lngScopeID Then 
 Debug.Print "Exiting my scope " & nScopeID 
 Else 
 Debug.Print "Exit Scope " & bstrDescription & "(" & nScopeID & ")" 
 End If 
 
End Sub

Support und FeedbackSupport and feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation?Have questions or feedback about Office VBA or this documentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.