Share via


Evento InvisibleApp.DocumentCreated (Visio)

Se produce después de crearse un documento.

Sintaxis

expresión. DocumentCreated (doc)

Expresión Variable que representa un objeto InvisibleApp .

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
doc Obligatorio [IVDOCUMENT] Documento que se ha creado.

Comentarios

El evento DocumentCreated se agrega a menudo a la colección EventList de un archivo de plantilla de Microsoft Visio (.vst). El evento se desencadena cuando se crea un nuevo documento basado en esa plantilla.

Si utiliza Microsoft Visual Basic o Visual Basic para Aplicaciones (VBA), la sintaxis de este tema describe una forma común y eficaz de controlar los eventos.

Si desea crear sus propios objetos Event , use el método Add o AddAdvise .

Para crear un objeto Event que ejecute un complemento, use el método Add, ya que se aplica a la colección EventList.

Para crear un objeto Event que reciba notificaciones, use el método AddAdvise.

Para encontrar un código de evento para el evento que desea crear, vea el tema sobre los códigos de evento.

Los eventos DocumentCreated se pueden agregar a la colección EventList de un objeto Application, una colección Documents o un objeto Document. Los dos primeros son sencillos: si se abre o se crea un documento en el ámbito del objeto Application o su colección Documents, se produce el evento DocumentCreated.

Sin embargo, agregar un evento DocumentCreated a la colección EventList de un objeto Document sólo tiene sentido si la acción del evento es visActCodeRunAddon. En este caso, el evento es persistente: se puede almacenar junto con el documento. Si se abre el documento que contiene el evento persistente, se desencadena su acción. Si un nuevo documento se basa o se copia del documento que contiene el evento persistente, se copia el evento DocumentCreated al nuevo documento y se desencadena su acción. Sin embargo, si la acción del evento es visActCodeAdvise, ese evento no se puede conservar y, por tanto, no se almacena con el documento; por lo tanto, nunca se desencadena.

Para evitar que se ejecute código como respuesta al evento DocumentCreated, DocumentOpened o DocumentAdded y evitar que se desencadenen los eventos, establezca el valor de la propiedad EventsEnabled de un objeto Application en False.

Ejemplo:

En este ejemplo de VBA se muestra cómo contar las formas agregadas a un dibujo y basadas en un patrón denominado Square.

El controlador de eventos DocumentCreated se ejecuta cuando se crea un nuevo dibujo basado en la plantilla que contiene este código. El controlador inicializa una variable entera, intNumberOfSquares, que se utiliza para almacenar el recuento.

El controlador de eventos ShapeAdded se ejecuta cada vez que se agrega una forma a la página de dibujo, independientemente de que la forma se arrastre desde una galería de símbolos, se dibuje con una herramienta de dibujo o se pegue desde el Portapapeles. El controlador comprueba la propiedad Master de la nueva forma y, si la forma se basa en el patrón Square , incrementa 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

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.