Propiedad Application.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 Application.
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.
Si la solución de Visual Studio incluye la referencia Microsoft.Office.Interop.Visio , esta propiedad se asigna a los tipos siguientes:
- Microsoft.Office.Interop.Visio.IVApplication.ActiveDocument
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.