Entendendo objetos, propriedades e métodos

Os objetos são os blocos de construção fundamentais do Microsoft Visual Basic; quase tudo o que você faz no Visual Basic envolve a modificação de objetos. Todos os elementos do Microsoft Word, como documentos, tabelas, parágrafos, indicadores e campos, podem ser representados por um objeto no Visual Basic.

O que são objetos e coleções?

Um objeto representa um elemento do Word, como um documento, um parágrafo, um indicador ou um único caractere. Uma coleção é um objeto que contém vários outros objetos, geralmente do mesmo tipo; por exemplo, todos os objetos de indicador em um documento estão contidos em um único objeto de coleção. Usando propriedades e métodos, você pode modificar um único objeto ou uma coleção inteira de objetos.

O que é uma propriedade?

Uma propriedade é um atributo de um objeto ou um aspecto de seu comportamento. Por exemplo, as propriedades de um documento incluem seu nome, seu conteúdo e seu status de salvamento, e se o controle de alterações está ativado. Para alterar as características de um objeto, deve-se alterar os valores de suas propriedades.

Para definir o valor de uma propriedade, siga a referência a um objeto com um período, o nome da propriedade, um sinal de igual e o novo valor da propriedade. O exemplo a seguir ativa o controle de alterações no documento chamado "MyDoc.doc".

Sub TrackChanges() 
    Documents("Sales.doc").TrackRevisions = True 
End Sub

Neste exemplo, Documents refere-se à coleção de documentos abertos e o nome "Sales.doc" identifica um único documento na coleção. A propriedade TrackRevisions está definida para esse documento único.

Algumas propriedades não podem ser definidas. O tópico da Ajuda para uma propriedade indica se ela pode ser definida (leitura/gravação) ou somente lida (somente leitura).

Você pode retornar informações sobre um objeto retornando o valor de uma de suas propriedades. O exemplo a seguir retorna o nome do documento ativo.

Sub GetDocumentName() 
    Dim strDocName As String 
    strDocName = ActiveDocument.Name 
    MsgBox strDocName 
End Sub

Neste exemplo, ActiveDocument refere-se ao documento na janela ativa no Word. O nome desse documento é atribuído à variável refere-se ao documento na janela ativa no Word. O nome desse documento é atribuído à variável strDocName.

Comentários

O tópico da Ajuda para cada propriedade indica se você pode definir a propriedade (leitura/gravação), apenas ler a propriedade (somente leitura) ou apenas gravar na propriedade (somente gravação). Além disso, o navegador de objeto no Editor do Visual Basic exibe o status de leitura/gravação na parte inferior da janela do navegador quando a propriedade está selecionada.

O que é um método?

Um método é uma ação que um objeto pode executar. Por exemplo, assim como um documento pode ser impresso, o objeto Document tem um método PrintOut . Métodos geralmente têm argumentos que qualificam como a ação é executada. O exemplo a seguir imprime as três primeiras páginas do documento ativo.

Sub PrintThreePages() 
    ActiveDocument.PrintOut Range:=wdPrintRangeOfPages, Pages:="1-3" 
End Sub

Na maioria dos casos, métodos são ações e propriedades são qualidades. Usar um método faz algo acontecer a um objeto, enquanto usar uma propriedade retorna informações sobre o objeto ou causa a alteração de uma qualidade do objeto.

Retornando um objeto

A maioria dos objetos é retornada retornando um único objeto da coleção. Por exemplo, a coleção Documentos contém os documentos abertos do Word. Você usa a propriedade Documents do objeto Application (o objeto na parte superior da hierarquia de objetos do Word) para retornar a coleção Documentos .

Depois de acessar a coleção, você poderá retornar um único objeto usando um valor de índice entre parênteses (isso é semelhante ao modo de trabalhar com matrizes). O valor de índice é geralmente um número ou um nome. Para saber mais, confira Retornando um objeto de uma coleção.

O exemplo a seguir usa a propriedade Documents para acessar a coleção Documents. O número de índice é usado para retornar o primeiro documento na coleção Documents. Em seguida, o método Close é aplicado ao objeto Document para fechar o primeiro documento na coleção Documentos .

Sub CloseDocument() 
    Documents(1).Close 
End Sub

O exemplo a seguir usa um nome (especificado como uma cadeia de caracteres) para identificar um objeto Document dentro da coleção Documents.

Sub CloseSalesDoc() 
    Documents("Sales.doc").Close 
End Sub

Objetos de coleção geralmente têm métodos e propriedades que podem ser usados para modificar toda a coleção de objetos. O objeto Documents tem um método Save que salva todos os documentos da coleção. O exemplo a seguir salva os documentos abertos aplicando o método Save.

Sub SaveAllOpenDocuments() 
    Documents.Save 
End Sub

O objeto Document também tem um método Save que está disponível para salvar um único documento. O exemplo a seguir salva o documento denominado Sales.doc.

Sub SaveSalesDoc() 
    Documents("Sales.doc").Save 
End Sub

Para retornar um objeto que está mais abaixo na hierarquia de objetos do Word, você deve "detalhar" a ele usando propriedades e métodos para retornar objetos.

Para ver como isso é feito, abra o Editor do Visual Basic e clique em Pesquisador de Objetos no menu Exibição. Clique em Aplicativo na lista Classes à esquerda. Em seguida, clique em ActiveDocument na lista de membros à direita. O texto na parte inferior do Pesquisador de Objetos indica que ActiveDocument é uma propriedade de somente leitura que retorna um objeto Document. Clique em Document na parte inferior do Pesquisador de Objetos; o objeto Document é selecionado automaticamente na lista Classes, e a lista Membros exibe os membros do objeto Document. Percorra a lista de membros até encontrar Close. Clique no método Fechar. O texto na parte inferior da janela do Pesquisador de Objetos mostra a sintaxe para o método. Para mais informações sobre o método, pressione F1 ou clique no botão Ajuda para ir para o tópico da Ajuda do método Close.

Considerando essas informações, você poderá escrever a instrução a seguir para fechar o documento ativo.

Sub CloseDocSaveChanges() 
    ActiveDocument.Close SaveChanges:=wdSaveChanges 
End Sub

O exemplo a seguir maximiza a janela do documento ativo.

Sub MaximizeDocumentWindow() 
    ActiveDocument.ActiveWindow.WindowState = wdWindowStateMaximize 
End Sub

A propriedade ActiveWindow retorna um objeto Window que representa a janela ativa. A propriedade WindowState está definida para maximizar a constante (wdWindowStateMaximize).

O exemplo a seguir cria um documento e exibe a caixa de diálogo Salvar como para fornecer um nome para o documento.

Sub CreateSaveNewDocument() 
    Documents.Add.Save 
End Sub

A propriedade Documents retorna a coleção Documents. O método Add cria um novo documento e retorna um objeto Document . O método Save é em seguida aplicado ao objeto Document.

Como você pode ver, use métodos ou propriedades para chegar até um objeto. Ou seja, retorne um objeto aplicando um método ou propriedade a um objeto acima na hierarquia de objetos. Depois que você retorna o objeto desejado, pode aplicar os métodos e controlar as propriedades desse objeto.

Obtendo ajuda sobre objetos, métodos e propriedades

Até que você se familiarize com o modelo de objeto do Word, há ferramentas que você pode usar para ajudá-lo a detalhar a hierarquia.

  • Microsoft IntelliSense. Quando você digita um período (.) após um objeto no Editor do Visual Basic, uma lista de propriedades e métodos disponíveis é exibida. Por exemplo, se você digitar Application., uma lista suspensa de métodos e propriedades do objeto Application será exibida.

  • Ajuda. Você também pode usar a Ajuda para descobrir quais propriedades e métodos podem ser usados com um objeto. Cada tópico de objeto na Ajuda inclui um link de Saiba mais que exibe uma lista de propriedades e métodos para o objeto. Pressione F1 enquanto estiver no Pesquisador de Objetos ou em um módulo para ir para o tópico da Ajuda apropriado.

  • Pesquisador de Objetos. O Navegador de Objetos no Editor do Visual Basic exibe os membros (propriedades e métodos) dos objetos do Word.

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.