Share via


Propiedad InvisibleApp.ActiveDocument (Visio)

Devuelve el objeto Document activo, que es el documento que se muestra en la ventana activa. Solo lectura.

Sintaxis

expresión. ActiveDocument

Expresión Variable que representa un objeto InvisibleApp .

Valor devuelto

Documento

Comentarios

Cuando no hay ningún documento abierto, no hay ningún documento activo y la propiedad ActiveDocument devuelve el valor Nothing y no genera ninguna excepción.

Si el código está en el proyecto de Microsoft Visual Basic de un documento de Visio, la propiedad ActiveDocument a menudo, pero no necesariamente, devuelve una referencia al objeto ThisDocument , un módulo de clase en el proyecto de Visual Basic de cada documento de Microsoft Visio. Si el objeto ThisDocument se muestra en la ventana activa, tanto ActiveDocument como ThisDocument hacen referencia al mismo documento. Cuando se hace referencia al objeto ThisDocument en el código de un proyecto, éste devuelve una referencia al objeto Document del proyecto.

Cuándo se utiliza el objeto ActiveDocument o el objeto ThisDocument depende de la finalidad del código.

Para determinar si un documento está activo, puede comparar el resultado devuelto por la propiedad ActiveDocument con el valor Nothing. Si el valor de la propiedad Documents.Count es mayor que cero, al menos un documento está abierto y activo.

Ejemplo:

En la siguiente macro de Microsoft Visual Basic para Aplicaciones (VBA) se muestran dos maneras seguras de obtener un documento activo (si existe alguno). En cada uno de los casos, se imprime el nombre del documento activo en la ventana Inmediato. El código obtiene el documento activo sin calificación del objeto global de Visio, que está disponible automáticamente para el código VBA que forma parte del proyecto VBA de un documento de Visio.

 
Public Sub ActiveDocument_Example() 
 
 Dim vsoDocument As Document 
 
 'First method 
 If Documents.Count > 0 Then 
 Set vsoDocument = ActiveDocument 
 Debug.Print vsoDocument.Name 
 Else 
 Debug.Print "No active document." 
 End If 
 
 'Second method 
 If Not(ActiveDocument Is Nothing) Then 
 Set vsoDocument = ActiveDocument 
 Debug.Print vsoDocument.Name 
 Else 
 Debug.Print "No active document." 
 End If 
 
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.