Compartilhar via


Trabalhando com controles de conteúdo

O que são Controles de Conteúdo?

Os controles de conteúdo são regiões ligadas e potencialmente identificadas em um documento que serve como contêineres para tipos específicos de conteúdo. Os controles de conteúdo individual podem conter datas, listas ou parágrafos de texto formatado. Em alguns casos, os controles de conteúdo podem lembrar formulários. Entretanto, eles são muito mais poderosos, flexíveis e úteis porque permitem a criação de blocos estruturados e ricos de conteúdo. Eles habilitam você a criar modelos que insere blocos bem definidos em seus documentos. Os controles de conteúdo permitem que:

  • Especifique regiões estruturadas em um modelo. Cada região estruturada tem seu próprio ID exclusivo, dessa forma você poderá ler a partir dela e escrever para ela. Exemplos de tipos de regiões estruturadas (ou controles de conteúdo) são caixas de combinação , imagens, blocos de texto e calendários.

  • Determine o comportamento dos controles de conteúdo. Cada controle de conteúdo seleciona uma parte de um documento; como autor do documento, você pode especificar o que cada região fará. Por exemplo, se você desejar que uma região de seu modelo seja um calendário, insira um controle de conteúdo de calendário naquela área do documento, que determinará automaticamente o que esse bloco de conteúdo faz. Similarmente, se você desejar um seção de um modelo exiba uma imagem, crie um controle de conteúdo de imagem naquela área. Desta forma, você poderá criar um modelo com tipos de blocos predefinidos.

  • Restrinja a capacidade de modificar controles de conteúdo em um documento. Cada controle de conteúdo poderá ser restringido, dessa forma, não podendo ser excluído nem editado. Isto será útil se, por exemplo, você tiver informações de direitos autorais em um modelo que o usuário deverá poder ler, mas não editar. Ou, como outro exemplo, você também pode bloquear um controle de conteúdo que você colocou dentro de um documento de modelo para que um usuário não exclua acidentalmente o conteúdo contido no controle de conteúdo. Isto torna os modelos mais robustos do que os das versões anteriores.

  • Mapeie o conteúdo de um controle de conteúdo para dados em uma parte XML personalizada. Por exemplo, se você inserir controles de conteúdo de texto simples em células de uma tabela de preços de ações, poderá mapear os controles de conteúdo nas células de tabela para nós em um arquivo XML que contém os preços atuais das ações. Quando os preços são alterados, um suplemento pode atualizar programaticamente o arquivo XML anexado, que está vinculado a cada controle de conteúdo de texto simples e os novos preços atualizados aparecem automaticamente na tabela.

A forma mais fácil de criar um controle de conteúdo é por meio da interface do usuário (embora você também possa criá-los de forma programada). Para criar um controle de conteúdo por meio da interface do usuário (interface do usuário), selecione o conteúdo que você deseja transformar em um controle de conteúdo (por exemplo, algum texto ou uma imagem) e escolha o tipo de controle de conteúdo desejado na seção controles de conteúdo da faixa de opções Desenvolvedor. Isso cria um controle de conteúdo em torno do conteúdo selecionado.

Controles de conteúdo no Modelo de Objeto do Word

A tabela a seguir mostra os objetos no modelo de objeto do Word relacionados aos controles de conteúdo.

Nome Descrição
ContentControl Cada objeto ContentControl representa um controle de conteúdo individual em um documento. Use a coleção ContentControlspara acessar objetos ContentControl individuais.
ContentControls Use as propriedades ContentControls dos objetos Documento, Intervalo e Seleção para acessar a coleção de controles de conteúdo. Você também pode usar o método SelectContentControlsByTitle e o método SelectContentControlsByTag do objeto Document para acessar uma coleção ContentControls que inclui controles de conteúdo específicos que têm o mesmo título ou valor de marca.
ContentControlListEntry Quando um controle de conteúdo é uma lista suspensa ou uma caixa de combinação, o objeto ContentControlListEntry representa itens individuais da lista.
ContentControlListEntries Use a propriedade DropdownListEntries do objeto ContentControl para acessar todos os itens em uma lista suspensa individual ou na caixa de combinação.

Cada um desses objetos ou coleções tem métodos e propriedades que permitem que você trabalhe com os controles de conteúdo tanto individualmente como em uma coleção. Como há vários tipos de controles de conteúdos (consulte a seção "Tipos de Controles de Conteúdo"), o objeto ContentControl tem membros que podem não ser aplicáveis a todos os tipos diferentes de controles de conteúdo. A tabela a seguir mostra essas propriedades e métodos do objeto ContentControl que se aplicam apenas a determinados tipos de controles de conteúdo.

Observação

Para obter uma lista completa de todas as propriedades e métodos do objeto ContentControl , consulte Controles de Conteúdo.

Propriedade/Método Aplica-se a
Propriedade BuildingBlockCategory Controles de conteúdo da Galeria BuildingBlock (wdContentControlBuildingBlockGallery)
Propriedade BuildingBlockType Controles de conteúdo da Galeria BuildingBlock (wdContentControlBuildingBlockGallery)
Propriedade DateDisplayFormat Controles de conteúdo de data (wdContentControlDate)
Propriedade DateDisplayLocale Controles de conteúdo de data (wdContentControlDate)
Propriedade DateStorageFormat Controles de conteúdo de data (wdContentControlDate)
Propriedade DropdownListEntries Caixa de combinação e controles de conteúdo de lista suspensa (wdContentControlComboBox e wdContentControlDropdownList)
Propriedade MultiLine Controles de conteúdo de texto simples (wdContentControlText)
Método Ungroup Controles de conteúdo de grupo (wdContentControlGroup)
Método SetCheckedSymbol Controle de conteúdo da Caixa de Seleção (wdContentControlCheckBox)
Método SetUncheckedSymbol Controle de conteúdo da Caixa de Seleção (wdContentControlCheckBox)

Tipos de Controles de Conteúdo

Há oito tipos diferentes de controles de conteúdo que você pode adicionar a um documento, cada um deles representado em uma nova enumeração chamada WdContentControlType.

Tipo de Controle de Conteúdo Descrição Constante WdContentControlType
Uma caixa de seleção. wdContentControlCheckBox
Calendário Um selecionador de data/hora. Wdcontentcontroldate
Bloco de Construção Habilita o usuário a escolher blocos de construção especificados. Wdcontentcontrolbuildingblockgallery
Lista Suspensa Uma lista suspensa. Wdcontentcontroldropdownlist
Group Define uma região protegida de um documento que os usuários não podem editar ou excluir. Um controle de grupo pode conter quaisquer itens de documento, como texto, tabelas, gráficos e outros controles de conteúdo. Wdcontentcontrolgroup
Caixa de Combinação Uma caixa de combinação. Wdcontentcontrolcombobox
Imagem Uma imagem. wdContentControlBlockPicture
Rich Text Um bloco de rich text. wdContentControlRichText
Texto simples Um bloco de texto simples. wdContentControlText

Eventos de controle de conteúdo

Além das propriedades e métodos disponíveis com o modelo de objeto de controle de conteúdo no Word, você também pode usar vários eventos que permitem executar código ao adicionar ou remover um controle de conteúdo ou quando um usuário edita um controle de conteúdo. A lista a seguir descreve cada evento e quando o código de evento é executado. Todos esses eventos são membros do objeto Document.

Nome do Evento Descrição
ContentControlAfterAdd Ocorre após a adição de um novo controle de conteúdo em um documento. Este evento será executado se o usuário adicionar o controle de conteúdo usando as ferramentas na interface do usuário ou adicioná-lo usando o código.
ContentControlBeforeContentUpdate Ocorre antes do Word atualizar o conteúdo em um controle de conteúdo.
ContentControlBeforeDelete Ocorre antes de um usuário excluir um controle de conteúdo. Este evento será executado se o usuário excluir o controle de conteúdo usando as ferramentas na interface do usuário ou excluí-lo usando o código.
ContentControlBeforeStoreUpdate Ocorre antes do Word atualizar o conteúdo de um controle de conteúdo a partir do dados do repositório de dados do documento.
ContentControlOnEnter Ocorre quando um usuário acessa um controle de conteúdo.
ContentControlOnExit Ocorre quando um usuário sai de um controle de conteúdo.

Trabalhando com o Código

Se você desejar adicionar um controle de conteúdo, exclua um controle de conteúdo ou acesse e manipule os controles de conteúdo existentes, você poderá fazer isso com o código. As seções a seguir são apenas alguns exemplos do que você poderá fazer.

Adicionando um Controle de Conteúdo

Conforme mencionado anteriormente, há oito tipos diferentes de controles de conteúdo que você pode adicionar aos seus documentos. Use o método Add da coleção ContentControls para adicionar um controle de conteúdo a um documento. O exemplo a seguir adicionar um selecionador de data ao documento e define o valor da data para a data atual .

Sub AddDatePicker() 
 
    Dim objCC As ContentControl 
    Dim objDate As Date 
 
    Set objCC = ActiveDocument.ContentControls _ 
        .Add(wdContentControlDate) 
    objDate = Date 
    objCC.Range.Text = objDate 
     
End Sub

Use a mesma construção básica para adicionar qualquer um dos diferentes tipos de controles de conteúdo a um documento.

Adicionando um Título a um Controle de Conteúdo

Use a propriedade Title para adicionar um título a um controle de conteúdo. Este é o texto que o usuário verá, e poderá ajudá-lo a conhecer qual tipo de dados inserir no controle de conteúdo. O exemplo a seguir adiciona um novo controle de conteúdo de texto simples no documento ativo e define o título ou exibe o texto para o controle.

Sub SetTitleForContentControl() 
 
    Dim objCC As ContentControl 
     
    Set objCC = ActiveDocument.ContentControls _ 
        .Add(wdContentControlText) 
         
    objCC.Title = "Please enter your name" 
     
End Sub

Modificando o Texto de Espaço Reservado para um Controle de Conteúdo

O texto de espaço reservado é um texto temporário. Pode ser uma descrição simples de uma palavra ou duas palavras (semelhante ao título) ou pode ser uma descrição mais completa (como etapas numeradas). A modificação do texto de espaço reservado é a mesma independentemente do tipo de controle de conteúdo ou dos conteúdos esperados do controle de conteúdo. O exemplo a seguir adiciona uma lista suspensa ao documento ativo, define o texto de espaço reservado para o controle e preenche a lista com os nomes de vários animais.

Sub SetPlaceholderText() 
 
    Dim objCC As ContentControl 
     
    Set objCC = Selection.ContentControls _ 
        .Add(wdContentControlComboBox) 
    objCC.Title = "Favorite Animal" 
    objCC.SetPlaceholderText _ 
        Text:="Please select your favorite animal " 
     
    'List entries 
    objCC.DropdownListEntries.Add "Cat" 
    objCC.DropdownListEntries.Add "Dog" 
    objCC.DropdownListEntries.Add "Horse" 
    objCC.DropdownListEntries.Add "Monkey" 
    objCC.DropdownListEntries.Add "Snake" 
    objCC.DropdownListEntries.Add "Other" 
 
End Sub

Essas são apenas algumas formas como você pode usar o modelo de objeto para manipular os controles de conteúdo em seus documentos. Para obter mais exemplos, consulte a seção Como Fazer.

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.