Application.DocumentCreated-Ereignis (Visio)

Tritt ein, nachdem ein Dokument erstellt wurde.

Syntax

Ausdruck. DocumentCreated (Doc)

expression Eine Variable, die ein Application-Objekt darstellt.

Parameter

Name Erforderlich/Optional Datentyp Beschreibung
DOC Erforderlich [IVDOCUMENT] Das Dokument, das erstellt wurde.

HinwBemerkungeneise

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 Event-Objekte 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 sinnvoll, wenn die Aktion des Ereignisses visActCodeRunAddon ist. In diesem Fall ist das Ereignis persistent. sie kann zusammen mit dem Dokument gespeichert werden. Wenn das Dokument, das das persistente Ereignis enthält, geöffnet wird, wird seine Aktion ausgelöst. Wenn ein neues Dokument auf dem Dokument basiert oder daraus kopiert wird, das das persistente Ereignis enthält, wird das DocumentCreated-Ereignis in das neue Dokument kopiert, und seine Aktion wird ausgelöst. Wenn die Aktion des Ereignisses jedoch visActCodeAdvise ist, ist dieses Ereignis nicht persistent und wird daher nicht im Dokument gespeichert. daher wird sie 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 Quadratmaster basiert, inkrementiert 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.