Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Devolve o objeto Documento ativo, que é o documento apresentado 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 Microsoft Visual Basic de um documento do Visio, a propriedade ActiveDocument devolve frequentemente, mas não necessariamente, 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 a qualificação do objeto global do Visio, que está automaticamente disponível 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.