Compartilhar via


Propriedade Application.ActiveDocument (Visio)

Retorna o objeto Document ativo, que é o documento mostrado na janela ativa. Somente leitura.

Sintaxe

expressão. Activedocument

expressão Uma variável que representa um Aplicativo objeto.

Valor de retorno

Documento

Comentários

Quando não há documentos abertos, não há um documento ativo e a propriedade ActiveDocument retorna Nothing sem criar uma exceção.

Se o código estiver no projeto do Microsoft Visual Basic de um documento do Visio, a propriedade ActiveDocument geralmente, mas não necessariamente, retornará uma referência ao objeto ThisDocument , um módulo de classe no projeto Visual Basic de cada documento do Microsoft Visio. Se o objeto ThisDocument for mostrado na janela ativa, o objeto ActiveDocument e o objeto ThisDocument farão referência ao mesmo documento. Quando o objeto ThisDocument for referenciado no código de um projeto, ele retornará uma referência ao objeto Document do projeto.

A opção entre usar o objeto ActiveDocument ou o objeto ThisDocument depende da finalidade do seu código.

Você pode comparar o resultado retornado pela propriedade ActiveDocument com o valor Nothing para determinar se um documento está ativo. Se o valor da propriedade Documents.Count for maior que zero, pelo menos um documento estará aberto e ativo.

Se sua solução do Visual Studio incluir a referência Microsoft.Office.Interop.Visio , essa propriedade será mapeada para os seguintes tipos:

  • Microsoft.Office.Interop.Visio.IVApplication.ActiveDocument

Exemplo

A seguinte macro do Microsoft Visual Basic for Applications (VBA) mostra duas maneiras seguras de obter um documento ativo (se existir). Em cada caso, ela imprime o nome do documento ativo na janela Imediato. O código obtém o documento ativo sem qualificação do objeto global do Visio, que está disponível automaticamente para o código VBA que faz parte do projeto VBA de um documento do 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

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.