Compartilhar via


Visão geral do modelo de objeto do Word

Ao desenvolver soluções do Word no Visual Studio, você interage com o modelo de objeto do Word. Esse modelo de objeto consiste em classes e interfaces que são fornecidas no assembly de interoperabilidade primário do Word e são definidas no Microsoft.Office.Interop.Word namespace.

Aplica-se a: As informações neste tópico se aplicam a projetos de nível de documento e projetos de Suplemento do VSTO para o Word. Para obter mais informações, consulte Os recursos disponíveis pelo aplicativo do Office e pelo tipo de projeto.

Este tópico fornece uma breve visão geral do modelo de objeto do Word. Para obter recursos em que você pode saber mais sobre todo o modelo de objeto do Word, consulte Usar a documentação do modelo de objeto do Word.

Para obter informações sobre como usar o modelo de objeto do Word para executar tarefas específicas, consulte os seguintes tópicos:

Entender o modelo de objeto do Word

O Word fornece centenas de objetos com os quais você pode interagir. Esses objetos são organizados em uma hierarquia que acompanha de perto a interface do usuário. Na parte superior da hierarquia está o Application objeto. Esse objeto representa a instância atual do Word. O objeto Application contém os objetos Document, Selection, Bookmark e Range. Cada um desses objetos tem muitos métodos e propriedades que você pode acessar para manipular e interagir com o objeto.

A ilustração a seguir mostra uma exibição desses objetos na hierarquia do modelo de objeto do Word.

Gráfico do Modelo de Objeto do Word

À primeira vista, os objetos parecem se sobrepor. Por exemplo, os objetos Document e Selection são ambos membros do objeto Application, mas o objeto Document também é um membro do objeto Selection. Tanto os objetos Document quanto os objetos Selection contêm os objetos Bookmark e Range. A sobreposição existe porque há várias maneiras de acessar o mesmo tipo de objeto. Por exemplo, você aplica a formatação a um Range objeto; mas talvez queira acessar o intervalo da seleção atual, de um parágrafo específico, de uma seção ou de todo o documento.

As seções a seguir descrevem brevemente os objetos de nível superior e como eles interagem entre si. Esses objetos incluem os cinco seguintes:

  • Objeto Aplicativo

  • Objeto Document

  • Objeto de Seleção

  • Objeto Range

  • Objeto Bookmark

    Além do modelo de objeto do Word, os projetos do Office no Visual Studio fornecem itens de host e controlesde host que estendem alguns objetos no modelo de objeto do Word. Os itens de host e os controles de host se comportam como os objetos do Word que eles estendem, mas também têm funcionalidade adicional, como recursos de associação de dados e eventos extras. Para obter mais informações, consulte Automatizar o Word usando objetos estendidos e itens de host e visão geral de controles de host.

Objeto Aplicativo

O Application objeto representa o aplicativo Word e é o pai de todos os outros objetos. Seus membros geralmente se aplicam ao software Word como um todo. Você pode usar suas propriedades e métodos para controlar o ambiente do Word.

Em projetos de suplemento VSTO, você pode acessar o objeto Application usando o campo Application da classe ThisAddIn. Para obter mais informações, consulte Complementos do Programa VSTO.

Em projetos de nível de documento, você pode acessar o Application objeto usando a Application propriedade da ThisDocument classe.

Objeto Document

O Document objeto é central para a programação do Word. Ele representa um documento e todo o seu conteúdo. Ao abrir um documento ou criar um novo documento, você cria um novo Document objeto, que é adicionado à Documents coleção do Application objeto. O documento que tem o foco é chamado de documento ativo. Ele é representado pela ActiveDocument propriedade do Application objeto.

As ferramentas de desenvolvimento do Office no Visual Studio estendem o Document objeto fornecendo o Document tipo. Esse tipo é um item de host que fornece acesso a todos os recursos de um Document objeto e adiciona eventos adicionais e a capacidade de adicionar controles gerenciados.

Ao criar um projeto no nível do documento, você pode acessar Document membros usando a classe gerada ThisDocument em seu projeto. Você pode acessar membros do Document item de host usando as palavras-chave Me ou this do código na ThisDocument classe ou usando Globals.ThisDocument do código fora da ThisDocument classe. Para obter mais informações, consulte Personalizações no nível do documento do programa. Por exemplo, para selecionar o primeiro parágrafo no documento, use o código a seguir.

this.Paragraphs[1].Range.Select();

Em projetos de complemento VSTO, você pode gerar Document itens de host em tempo de execução. Você pode usar o item de host gerado para adicionar controles ao documento associado. Para mais informações, consulte Estender documentos do Word e pastas de trabalho do Excel em complementos VSTO em tempo de execução.

Objeto de Seleção

O Selection objeto representa a área que está selecionada no momento. Ao executar uma operação na interface do usuário do Word, como o texto em negrito, você seleciona ou realça o texto e, em seguida, aplica a formatação. O Selection objeto está sempre presente em um documento. Se nada estiver selecionado, ele representará o ponto de inserção. Além disso, uma seleção pode abranger vários blocos de texto que não são contíguos.

Objeto Range

O Range objeto representa uma área contígua em um documento e é definido por uma posição de caractere inicial e uma posição de caractere final. Você não está limitado a um único Range objeto. Você pode definir vários Range objetos no mesmo documento. Um Range objeto tem as seguintes características:

  • Ele pode consistir apenas no ponto de inserção, em um intervalo de texto ou em todo o documento.

  • Ele inclui caracteres não imprimíveis, como espaços, caracteres de tabulação e marcas de parágrafo.

  • Ela pode ser a área representada pela seleção atual ou pode representar uma área diferente da seleção atual.

  • Ele não é visível em um documento, ao contrário de uma seleção, que é sempre visível.

  • Ele não é salvo com um documento e existe somente enquanto o código está em execução.

    Quando você insere texto no final de um intervalo, o Word expande automaticamente o intervalo para incluir o texto inserido.

Objetos de controle de conteúdo

Um ContentControl fornece uma maneira de controlar a entrada e a apresentação de texto e outros tipos de conteúdo em documentos do Word. Um ContentControl pode exibir vários tipos diferentes de interface do usuário otimizados para uso em documentos do Word, como um controle de texto formatado, um seletor de data ou uma caixa de combinação. Você também pode usar um ContentControl para impedir que os usuários editem seções do documento ou modelo.

O Visual Studio estende o ContentControl objeto para vários controles de host diferentes. Enquanto o objeto pode exibir qualquer um dos diferentes tipos de UI que estão disponíveis para controles de conteúdo, Visual Studio fornece um tipo diferente para cada controle de conteúdo. Por exemplo, você pode usar um RichTextContentControl para criar um controle de rich text ou pode usar um DatePickerContentControl para criar um seletor de data. Esses controles de host se comportam como os nativos ContentControl, mas têm eventos adicionais e recursos de associação de dados. Para obter mais informações, consulte Controles de conteúdo.

Objeto Bookmark

O Bookmark objeto representa uma área contígua em um documento, com uma posição inicial e uma posição final. Você pode usar marcadores para marcar um local em um documento ou como um contêiner para texto em um documento. Um Bookmark objeto pode consistir no ponto de inserção ou ser tão grande quanto todo o documento. Um Bookmark tem as seguintes características que o diferenciam do Range objeto:

  • Você pode nomear o marcador em tempo de projeto.

  • Bookmark os objetos são salvos com o documento e, portanto, não são excluídos quando o código para de ser executado ou o documento é fechado.

  • Os indicadores podem ser ocultados ou exibidos ao definir a propriedade ShowBookmarksView do objeto como false ou true.

    O Visual Studio estende o Bookmark objeto fornecendo o controle de Bookmark host. O Bookmark controle de host se comporta como um nativo Bookmark, mas tem eventos adicionais e recursos de associação de dados. Você pode associar dados a um controle de indicador em um documento da mesma forma que associa dados a um controle de caixa de texto em um Formulário do Windows. Para obter mais informações, consulte o controle de marcadores.

Usar a documentação do modelo de objeto do Word

Para obter informações completas sobre o modelo de objeto do Word, você pode consultar a referência do PIA (Primary Interop Assembly) do Word e a referência do modelo de objeto do VBA (Visual Basic for Applications).

Referência de assembly de interoperabilidade primário

A documentação de referência do Word PIA descreve os tipos no assembly principal de interoperabilidade do Word. A documentação está disponível no endereço a seguir: referência de assembly de interoperabilidade primária do Word 2010.

Para obter mais informações sobre o design do Word PIA, como as diferenças entre classes e interfaces no PIA e como os eventos no PIA são implementados, consulte Visão geral de classes e interfaces nos assemblies de interoperabilidade primários do Office.

Referência do modelo de objeto do VBA

A referência do modelo de objeto VBA documenta o modelo de objeto do Word conforme ele é exposto ao código VBA. Para obter mais informações, consulte a referência do modelo de objeto do Word 2010.

Todos os objetos e membros na referência do modelo de objeto do VBA correspondem a tipos e membros no Word PIA. Por exemplo, o objeto Document na referência do modelo de objeto do VBA corresponde ao objeto Document no Word PIA. Embora a referência do modelo de objeto VBA forneça exemplos de código para a maioria das propriedades, métodos e eventos, você deve traduzir o código VBA nessa referência para Visual Basic ou Visual C# se quiser usá-los em um projeto do Word criado usando o Visual Studio.