Ereignis "Application.DocumentCreated" (Visio)

Tritt ein, nachdem ein Dokument erstellt wurde.

Syntax

Ausdruck verwendet werden. DocumentCreated (doc)

expression Eine Variable, die ein Application-Objekt darstellt.

Parameter

Name Erforderlich/Optional Datentyp Beschreibung
Dok Erforderlich [IVDOKUMENT] Das Dokument, das erstellt wurde.

Hinweise

Das DocumentCreated-Ereignis wird häufig der EventList-Auflistung einer Microsoft Visio-Vorlagendatei (VST) hinzugefügt. Die Ereignisaktion wird jedes Mal ausgelöst, wenn anhand dieser Vorlage ein neues Dokument erstellt wird.

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.

Wenn Sie eigene Ereignisobjekte erstellen möchten, verwenden Sie die Add - oder AddAdvise-Methode .

Verwenden Sie zum Erstellen eines Event-Objekts, das ein Add-On ausführt, die Add-Methode der EventList-Auflistung.

Verwenden Sie zum Erstellen eines Event-Objekts, das eine Benachrichtigung empfängt, die AddAdvise-Methode.

Informationen zum Suchen eines Ereigniscodes für das Ereignis, das Sie erstellen möchten, finden Sie unter Ereigniscodes.

Sie können DocumentCreated-Ereignisse der EventList-Auflistung eines Application-Objekts, einer Documents-Auflistung oder eines Document-Objekts hinzufügen. Die ersten beiden Fälle sind unkompliziert: Wenn ein Dokument im Bereich eines Application-Objekts oder seiner Documents-Auflistung geöffnet oder erstellt wird, tritt das DocumentCreated-Ereignis ein.

Das Hinzufügen eines DocumentCreated-Ereignisses zur EventList-Auflistung eines Document-Objekts ist jedoch nur dann sinnvoll, wenn die Aktion des Ereignisses visActCodeRunAddon ist. In diesem Fall ist das Ereignis persistent. Es kann mit dem Dokument gespeichert werden. Wird das Dokument geöffnet, das das persistente Ereignis enthält, wird dessen Aktion ausgelöst. Wenn ein neues Dokument auf dem Dokument basiert, das das persistente Ereignis enthält, oder aus diesem kopiert wird, wird das Ereignis DocumentCreated in das neue Dokument kopiert und dessen Aktion ausgelöst. Wenn die Aktion des Ereignisses jedoch visActCodeAdvise ist, ist dieses Ereignis nicht persistierbar und wird daher nicht mit dem Dokument gespeichert. daher wird es nie ausgelöst.

Sie können verhindern, dass Code als Reaktion auf das DocumentCreated-, DocumentOpened- oder DocumentAdded-Ereignis ausgeführt wird und dass Ereignisse ausgelöst werden, indem Sie den Wert der EventsEnabled-Eigenschaft eines Application-Objekts auf False festlegen.

Beispiel

Dieses VBA-Beispiel zeigt, wie einer Zeichnung hinzugefügte Shapes gezählt werden, die auf einem Master-Shape mit der Bezeichnung Square basieren.

Der DocumentCreated-Ereignishandler wird ausgeführt, wenn eine neue Zeichnung basierend auf der Vorlage, die diesen Code enthält, erstellt wird. Der Handler initialisiert eine Variable für eine ganze Zahl intNumberOfSquares mit der die Zählung gespeichert wird.

Der ShapeAdded-Ereignishandler wird jedes Mal ausgeführt, wenn dem Zeichenblatt ein Shape hinzugefügt wird, unabhängig davon, ob das Shape aus einer Schablone gezogen, mit einem Zeichnungstool gezeichnet oder aus der Zwischenablage eingefügt wird. Der Handler überprüft die Master-Eigenschaft der neuen Form, und wenn die Form auf dem Square master basiert, erhöht sich intNumberOfSquares.

 
Dim intNumberOfSquares As Integer 
 
Private Sub Document_DocumentCreated(ByVal vsoDocument As Visio.IVDocument) 
 
'Initialize number of squares added. 
 intNumberOfSquares = 0 
 
End Sub 
 
 
Private Sub Document_ShapeAdded(ByVal vsoShape As Visio.IVShape) 
 
 Dim vsoMaster As Visio.Master 
 
 'Get the Master property of the shape. 
 'the shape was created locally. 
 Set vsoMaster = vsoShape.Master 
 
 'Check whether the shape has a master. If not, 
 If Not (vsoMaster Is Nothing) Then 
 
 'Check whether the master is "Square". 
 If vsoMaster.Name = "Square" Then 
 
 'Increment the count for the number of squares added. 
 intNumberOfSquares = intNumberOfSquares + 1 
 
 End If 
 
 End If 
 
 MsgBox "Number of squares: " & intNumberOfSquares, vbInformation, _ 
 "Document Created Example" 
 
End Sub

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.