Share via


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.