Compartilhar via


Propriedade Global.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 objeto Global .

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 Application.Documents.Count for maior que zero, pelo menos um documento está aberto e ativo.

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.