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.