Trabalhar com objetos Document
No Visual Basic, os métodos para modificação de arquivos são métodos do objeto Document ou a coleção Documents. Este tópico inclui exemplos do Visual Basic relacionados às tarefas identificadas nas seções a seguir.
Criar um novo documento
A coleção Documents inclui todos os documentos abertos. Para criar um novo documento, use o método Add para adicionar um objeto Document à coleção Documents. A instrução a seguir cria um documento.
Documents.Add
Uma forma melhor de criar um documento é atribuir o valor de retorno a uma variável de objeto. O método Add retorna um objeto Document que se refere ao novo documento. No exemplo a seguir, o objeto Document retornado pelo método Add é atribuído a uma variável de objeto. Depois diversas propriedades e métodos do objeto Document são definidos. Você pode controlar facilmente o novo documento usando uma variável de objeto.
Sub NewSampleDoc()
Dim docNew As Document
Set docNew = Documents.Add
With docNew
.Content.Font.Name = "Tahoma"
.SaveAs FileName:="Sample.doc"
End With
End Sub
Abrir um documento
Para abrir um documento existente, use o método Open com a coleção Documents. A instrução a seguir abre um documento chamado Sample localizada na pasta Minhapasta.
Sub OpenDocument()
Documents.Open FileName:="C:\MyFolder\Sample.doc"
End Sub
Salvar um documento já existente
Para salvar um único documento, use o método Salvar com o objeto Document . A instrução a seguir salva o documento Sales.doc.
Sub SaveDocument()
Documents("Sales.doc").Save
End Sub
Você pode salvar todos os documentos abertos aplicando o método Save à coleção Documents. A instrução a seguir salva todos os documentos abertos.
Sub SaveAllOpenDocuments()
Documents.Save
End Sub
Salvar um novo documento
Para salvar um único documento, use o método SaveAs2 com um objeto Document. A instrução a seguir salva o documento ativo como "Temp" na pasta atual.
Sub SaveNewDocument()
ActiveDocument.SaveAs FileName:="Temp.doc"
End Sub
O argumento FileName pode incluir apenas o nome do arquivo ou o caminho completo (por exemplo, "C:\Documents\Temporary File.doc").
Fechar documentos
Para fechar um único documento, use o método Fechar com um objeto Document . A instrução a seguir fecha e salva o documento Sales.doc.
Sub CloseDocument()
Documents("Sales.doc").Close SaveChanges:=wdSaveChanges
End Sub
Você pode fechar todos os documentos abertos aplicando o método Close da coleção Documents. A instrução a seguir fecha todos os documentos sem salvar as alterações.
Sub CloseAllDocuments()
Documents.Close SaveChanges:=wdDoNotSaveChanges
End Sub
O exemplo a seguir solicita que o usuário salve cada documento antes que o documento seja fechado.
Sub PromptToSaveAndClose()
Dim doc As Document
For Each doc In Documents
doc.Close SaveChanges:=wdPromptToSaveChanges
Next
End Sub
Ativar um documento
Para alterar o documento ativo, use o método Activate com um objeto Document. A instrução a seguir ativa o documento aberto Sales.doc.
Sub ActivateDocument()
Documents("Sales.doc").Activate
End Sub
Determinar se um documento está aberto
Para determinar se um documento está aberto, você pode enumerar a coleção Documents usando uma instrução For Each...Next. O exemplo a seguir ativará o documento denominado "Sample.doc" se o documento estiver aberto, ou o abrirá se ele estiver fechado.
Sub ActivateOrOpenDocument()
Dim doc As Document
Dim docFound As Boolean
For Each doc In Documents
If InStr(1, doc.Name, "sample.doc", 1) Then
doc.Activate
docFound = True
Exit For
Else
docFound = False
End If
Next doc
If docFound = False Then Documents.Open FileName:="Sample.doc"
End Sub
Referir-se ao documento ativo
Em vez de se referir a um documento por nome ou por número de índice, por exemplo, Documents("Sales.doc")
a propriedade ActiveDocument retorna um objeto Document que se refere ao documento ativo (o documento com o foco). O exemplo a seguir exibe o nome do documento ativo, ou se não houver nenhum documento aberto, exibe uma mensagem.
Sub ActiveDocumentName()
If Documents.Count >= 1 Then
MsgBox ActiveDocument.Name
Else
MsgBox "No documents are open"
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.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de