Compartilhar via


Demonstra Passo a passo: Criando um modelo usando controles de conteúdo

Se aplica a

As informações contidas neste tópico se aplicam apenas às especificado Ferramentas do Visual Studio para o Office projetos e as versões do Microsoft Office.

Tipo de Projeto

  • Projetos de nível de documento

Versão do Microsoft Office

  • Word 2007

For more information, see Recursos disponíveis pelo aplicativo e o tipo de projeto.

Esta explicação passo a passo demonstra como criar uma personalização de nível de documento que usa controles de conteúdo para criar conteúdo estruturado e reutilizável em um modelo do Microsoft Office Word 2007.

O Word permite que você criar uma coleção de partes do documento reutilizável, chamado de blocos de construção .Esta explicação passo a passo mostra como criar duas tabelas como blocos de construção.Cada tabela contém vários controles de conteúdo que podem conter diferentes tipos de conteúdo, como texto Normal ou datas.Uma das tabelas contém informações sobre um funcionário, e a Outro tabela contém comentários dos clientes.

Depois de criar um documento do modelo, você pode adicionar qualquer uma das tabelas ao documento, usando vários objetos de BuildingBlockGalleryContentControl, que Exibir os blocos de construção disponíveis no modelo.

Essa explicação passo a passo ilustra as seguintes tarefas:

  • Criação de tabelas que contêm conteúdo controla no Word modelo em tempo de design.

  • Preencher um Controlarar de conteúdo de caixa de combinação e um Controlarar de conteúdo de lista Soltar-Para Baixo programaticamente.

  • Impedir que os usuários de edição de uma tabela especificada.

  • Adicionar tabelas à coleção Bloquear de construção de um modelo.

  • Criar um Controlarar de conteúdo que exibe os blocos de construção disponíveis no modelo.

Observação:

Seu computador pode mostrar diferentes nomes ou localizações para alguns dos elementos de interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos. Para obter mais informações, consulte Configurações do Visual Studio.

Pré-requisitos

Para completar este passo a passo, são necessários os seguintes componentes:

  • Ferramentas do Visual Studio para o Office (um componente opcional do O Visual Studio 2008 Professional e Visual Studio Team System).

  • Microsoft Office Word 2007.

Ferramentas do Visual Studio para o Office é instalado por padrão com as versões listadas do Visual Studio.Para Marcar se ele está instalado, Marcar Instalando o Visual Studio Tools para Office.

Criando um novo projeto de modelo do Word

Crie um modelo do Word 2007 para que os usuários podem criar suas próprias cópias facilmente.

Para criar um novo projeto de modelo do Word 2007

  • Criar um projeto de modelo do Word com o nome MyBuildingBlockTemplate, usando o modelo do Word modelo de projeto para o Microsoft Office Sistema de 2007.No assistente, Criar um novo documento na solução.For more information, see Como: Criar o Visual Studio Tools para projetos do Office.

    Visual Studio abre o novo modelo do Word no designer e o adiciona o projeto de MyBuildingBlockTemplate para Gerenciador de Soluções.

Criar a tabela de funcionários

Criar uma tabela que contém quatro tipos diferentes de controles de conteúdo onde o usuário pode Enter informações sobre um funcionário.

Para criar a tabela de funcionários

  1. No modelo do Word que está hospedado no designer Visual Studio , na faixa de opções, clique na guia de De inserir de.

  2. No AAgruparar tabelas, clique em Tabela; inserir uma tabela com colunas de 2 e 4 linhas.

  3. tipo texto na Primeiro coluna para que ele é semelhante a coluna a seguir:

    Nome do funcionário

    Data de contratação

    Title

    Imagem

  4. Clique na Primeiro célula na segunda coluna (Avançar para Nome do funcionário).

  5. Na faixa de opções, clique na guia de De desenvolvedor.

    Observação:

    Se a Guia do desenvolvedor não estiver visível, você primeiro deve mostrá-lo.For more information, see Como: Mostrar a guia Desenvolvedor na Faixa de Opções.

  6. No AAgruparar de De controles, clique em Texto botão para adicionar um PlainTextContentControl à Primeiro célula.

  7. Clique na segunda célula na segunda coluna (Avançar para Data de contratação).

  8. No AAgruparar de De controles de , clique em Selecionador de data botão para adicionar um DatePickerContentControl para o segundo célula.

  9. Clique na terceira célula na segunda coluna (Avançar para Título).

  10. No AAgruparar de De controles, clique em Caixa de combinação botão para adicionar um ComboBoxContentControl a terceira célula.

  11. Clique nÚltimo célula na segunda coluna (Avançar para Picture).

  12. No AAgruparar Controles , clique em Controle de conteúdo de imagem botão para adicionar um PictureContentControl para Último célula.

Criar a tabela de comentários de cliente

Criar uma tabela que contém três tipos diferentes de controles de conteúdo onde o usuário pode Enter informações de comentários do cliente.

Para criar a tabela de comentários de cliente

  1. No modelo do Word, clique na linha após o funcionário da tabela que você Adicionado anteriormente, e Pressionarionar ENTER para adicionar um novo parágrafo.

  2. Na faixa de opções, clique na guia de De inserir.

  3. No AAgruparar tabelas, clique em Tabela; inserir uma tabela com colunas de 2 e 3 linhas.

  4. tipo texto na Primeiro coluna para que ele é semelhante a coluna a seguir:

    Customer Name

    Classificação de satisfação

    Comentários

  5. Clique na Primeiro célula da segunda coluna (Avançar para Customer Nome).

  6. Na faixa de opções, clique na guia de De desenvolvedor.

  7. No AAgruparar de De controles, clique em Texto botão para adicionar um PlainTextContentControl à Primeiro célula.

  8. Clique na segunda célula da segunda coluna (Avançar para Satisfação classificação).

  9. No AAgruparar de De controles de , clique no Soltar - Para Baixo lista botão para adicionar um DropDownListContentControl à segunda célula.

  10. Clique nÚltimo célula da segunda coluna (Avançar para Comentários).

  11. No AAgruparar Controles , clique em Rich Texto botão para adicionar um RichTextContentControl para Último célula.

Preenchendo a caixa de combinação de lista Soltar para baixo por programação

Você pode inicializar controles de conteúdo em tempo de design utilizando a janela de propriedades em Visual Studio.Você também pode inicializá-los em tempo de execução, que permite que você defina seus estados iniciais dinamicamente.Para esta explicação passo a passo, use código para preencher as entradas no ComboBoxContentControl de DropDownListContentControl em tempo de execução para que você possa ver como funcionam esses objetos.

Para modificar a interface do usuário dos controles de conteúdo por meio de programação

  1. Em Gerenciador de Soluções, clique com o botão direito do mouse ThisDocument.cs ou ThisDocument.vbe clique em Exibir Code.

  2. Adicione o seguinte código à classe ThisDocument:Esse código declara vários objetos que serão usados posteriormente neste passo-a-passo.

    Private GroupControl1 As Microsoft.Office.Tools.Word.GroupContentControl
    Private BuildingBlockControl1 As Microsoft.Office.Tools.Word.BuildingBlockGalleryContentControl
    Private BuildingBlockControl2 As Microsoft.Office.Tools.Word.BuildingBlockGalleryContentControl
    
    private Microsoft.Office.Tools.Word.GroupContentControl groupControl1;
    private Microsoft.Office.Tools.Word.BuildingBlockGalleryContentControl buildingBlockControl1;
    private Microsoft.Office.Tools.Word.BuildingBlockGalleryContentControl buildingBlockControl2;
    
  3. Adicionar o seguinte código para o método ThisDocument_Startup da classe ThisDocument.Este código adiciona entradas à ComboBoxContentControl e DropDownListContentControl nas tabelas e define o texto de espaço reservado que é exibido em cada um desses controles antes do usuário edita-los.

    ComboBoxContentControl1.PlaceholderText = "Choose a title, or enter your own"
    ComboBoxContentControl1.DropDownListEntries.Add("Engineer", "Engineer", 0)
    ComboBoxContentControl1.DropDownListEntries.Add("Designer", "Designer", 1)
    ComboBoxContentControl1.DropDownListEntries.Add("Manager", "Manager", 2)
    
    DropDownListContentControl1.PlaceholderText = _
        "Choose a rating (1 lowest, 3 highest)"
    DropDownListContentControl1.DropDownListEntries.Add("1", "1", 0)
    DropDownListContentControl1.DropDownListEntries.Add("2", "2", 1)
    DropDownListContentControl1.DropDownListEntries.Add("3", "3", 2)
    
    comboBoxContentControl1.PlaceholderText = "Choose a title, or enter your own";
    comboBoxContentControl1.DropDownListEntries.Add("Engineer", "Engineer", 0);
    comboBoxContentControl1.DropDownListEntries.Add("Designer", "Designer", 1);
    comboBoxContentControl1.DropDownListEntries.Add("Manager", "Manager", 2);
    
    dropDownListContentControl1.PlaceholderText =
        "Choose a rating (1 lowest, 3 highest)";
    dropDownListContentControl1.DropDownListEntries.Add("1", "1", 0);
    dropDownListContentControl1.DropDownListEntries.Add("2", "2", 1);
    dropDownListContentControl1.DropDownListEntries.Add("3", "3", 2);
    

Impedindo usuários de edição de tabela de funcionários

Use o objeto GroupContentControl que você declarado anteriormente para proteger a tabela de funcionários.Depois de proteger a tabela, os usuários ainda podem editar os controles de conteúdo na tabela.No entanto, eles não é possível editar o texto na Primeiro coluna ou modificar a tabela de Outro formas, como adicionar ou excluir linhas e colunas.Para obter mais informações sobre como usar um GroupContentControl para proteger uma parte de um documento, consulte Os controles de conteúdo.

Para evitar que os usuários editem a tabela de funcionários

  • Adicione o seguinte código para o método ThisDocument_Startup da classe ThisDocument, após o código que você Adicionado na etapa anterior.Esse código impede que os usuários editem a tabela de funcionários colocando a tabela dentro do objeto GroupContentControl que você declarado anteriormente.

    Me.Tables(1).Select()
    GroupControl1 = Me.Controls.AddGroupContentControl("groupControl1")
    
    this.Tables[1].Range.Select();
    groupControl1 = this.Controls.AddGroupContentControl("groupControl1");
    

Adicionar as tabelas à coleção de Bloquear de construção

Adicionar As tabelas a uma coleção de blocos no modelo de construção para que os usuários podem inserir as tabelas que você criou no documento de documento.Para obter mais informações sobre blocos de construção de documento, consulte Os controles de conteúdo.

Para adicionar as tabelas para os blocos de construção no modelo

  1. Adicione o seguinte código para o método ThisDocument_Startup da classe ThisDocument, após o código que você Adicionado na etapa anterior.Este código adiciona novos blocos de construção que contêm as tabelas para a coleção Microsoft.Office.Interop.Word.BuildingBlockEntries, que contém Tudo blocos construção reutilizáveis no modelo.Os novos blocos de construção são definidos em uma nova categoria chamada funcionário e informações sobre o cliente e recebem o do tipo de bloco de construção Microsoft.Office.Interop.Word.WdBuildingBlockTypes.wdTypeCustom1.

    Dim template1 As Word.Template = TryCast(Me.AttachedTemplate, Word.Template)
    If template1 IsNot Nothing Then
    
        template1.BuildingBlockEntries.Add("Employee Table", _
            Word.WdBuildingBlockTypes.wdTypeCustom1, "Employee and Customer Information", _
            Me.Tables(1).Range, InsertOptions:=Word.WdDocPartInsertOptions.wdInsertContent)
        template1.BuildingBlockEntries.Add("Customer Table", _
            Word.WdBuildingBlockTypes.wdTypeCustom1, "Employee and Customer Information", _
            Me.Tables(2).Range, InsertOptions:=Word.WdDocPartInsertOptions.wdInsertContent)
    End If
    
    Word.Template template1 = this.AttachedTemplate as Word.Template;
    
    if (template1 != null)
    {
        object description = null;
        template1.BuildingBlockEntries.Add("Employee Table",
            Word.WdBuildingBlockTypes.wdTypeCustom1, "Employee and Customer Information",
            this.Tables[1].Range, ref description, Word.WdDocPartInsertOptions.wdInsertContent);
        template1.BuildingBlockEntries.Add("Customer Table",
            Word.WdBuildingBlockTypes.wdTypeCustom1, "Employee and Customer Information",
            this.Tables[2].Range, ref description, Word.WdDocPartInsertOptions.wdInsertContent);
    }
    
  2. Adicione o seguinte código para o método ThisDocument_Startup da classe ThisDocument, após o código que você Adicionado na etapa anterior.Esse código exclui as tabelas do modelo.As tabelas não são mais necessárias, porque você tem Adicionado-las para a galeria de blocos de construção reutilizáveis no modelo.O código primeiro coloca o documento em modo de design para que a tabela de funcionários protegido pode ser excluída.

    If Me.DesignMode = False Then
        Me.ToggleFormsDesign()
    End If
    Me.Tables(2).Delete()
    Me.Tables(1).Delete()
    Me.ToggleFormsDesign()
    
    if (!this.DesignMode)
    {
        this.ToggleFormsDesign();
    }
    this.Tables[2].Delete();
    this.Tables[1].Delete();
    this.ToggleFormsDesign();
    

Criando um Controlarar de conteúdo que exibe os blocos de construção

Crie um Controlarar de conteúdo que fornece Acessar a blocos de construção (ou seja, as tabelas) que você criou anteriormente.Os usuários podem Clique esse Controlarar para adicionar as tabelas ao documento.

Para criar um Controlarar de conteúdo que exibe os blocos de construção

  • Adicione o seguinte código para o método ThisDocument_Startup da classe ThisDocument, após o código que você Adicionado na etapa anterior.Esse código inicializa o objeto BuildingBlockGalleryContentControl que você declarada anteriormente.O BuildingBlockGalleryContentControl exibe Tudo blocos de construção que são definidos na categoria funcionário e informações sobre o cliente e que têm o do tipo de bloco de construção Microsoft.Office.Interop.Word.WdBuildingBlockTypes.wdTypeCustom1.

    BuildingBlockControl1 = Me.Controls.AddBuildingBlockGalleryContentControl( _
        Me.Paragraphs(1).Range, "buildingBlockControl1")
    BuildingBlockControl1.BuildingBlockCategory = "Employee and Customer Information"
    BuildingBlockControl1.BuildingBlockType = Word.WdBuildingBlockTypes.wdTypeCustom1
    BuildingBlockControl1.PlaceholderText = "Choose your first building block"
    
    BuildingBlockControl2 = Me.Controls.AddBuildingBlockGalleryContentControl( _
        Me.Paragraphs(2).Range, "buildingBlockControl2")
    BuildingBlockControl2.BuildingBlockCategory = "Employee and Customer Information"
    BuildingBlockControl2.BuildingBlockType = Word.WdBuildingBlockTypes.wdTypeCustom1
    BuildingBlockControl2.PlaceholderText = "Choose your second building block"
    
    buildingBlockControl1 = this.Controls.AddBuildingBlockGalleryContentControl(
        this.Paragraphs[1].Range, "buildingBlockControl1");
    buildingBlockControl1.BuildingBlockCategory = "Employee and Customer Information";
    buildingBlockControl1.BuildingBlockType = Word.WdBuildingBlockTypes.wdTypeCustom1;
    buildingBlockControl1.PlaceholderText = "Choose your first building block";
    
    buildingBlockControl2 = this.Controls.AddBuildingBlockGalleryContentControl(
        this.Paragraphs[2].Range, "buildingBlockControl2");
    buildingBlockControl2.BuildingBlockCategory = "Employee and Customer Information";
    buildingBlockControl2.BuildingBlockType = Word.WdBuildingBlockTypes.wdTypeCustom1;
    buildingBlockControl2.PlaceholderText = "Choose your second building block";
    

Testar o projeto.

Os usuários podem Clique os controles de galeria de Bloquear de construção no documento para inserir tabela de funcionários ou a tabela de comentários do cliente.Os usuários podem tipo ou selecionar Ambos respostAmbos em controles de conteúdo em ambAmbos Ambos tabelAmbos.Os usuários podem modificar Outro partes da tabela de comentários do cliente, mas eles devem não poderá modificar Outro partes da tabela de funcionários.

Para testar a tabela de funcionários

  1. Pressione F5 para executar o projeto.

  2. Clique em escolher o primeiro de Bloquear de construção para exibir o primeiro Controlarar de conteúdo Bloquear de construção Galeria.

  3. Clique no Soltar - para baixo Avançar ao título Personalizar Galeria 1 no Controlarar e Selecionar De tabela de funcionários.

  4. Clique na célula Direito da célula de nome do funcionário e tipo um nome.

    Verifique se que você pode adicionar apenas o texto para essa célula.O PlainTextContentControl permite que os usuários adicionar somente texto, não outros tipos de conteúdo, como arte ou uma tabela.

  5. Clique na célula Direito da célula Data de contratação e Selecionar uma data no selecionador de data.

  6. Clique na célula Direito da célula título e Selecionar um dos títulos de trabalho na caixa de combinação.

    Opcionalmente, tipo o nome de um cargo que não esteja na lista.Isso é possível porque o ComboBoxContentControl permite aos usuários selecionar em uma lista de entradas ou para tipo suas próprias entradas.

  7. Clique no ícone na célula Direito da célula de imagem e procura para uma imagem a ser Exibir-lo.

  8. Tente adicionar linhas ou colunas à tabela e tente excluir linhas e colunas de a tabela.Verifique se que você não pode modificar a tabela.O GroupContentControl impede que você fazer as modificações.

Para testar a tabela de comentários do cliente

  1. Clique em escolha seu Bloquear de construção segundo para exibir o segundo Controlarar de conteúdo Bloquear de construção Galeria.

  2. Clique no Soltar - para baixo Avançar ao título personalizado Galeria 1 no Controlarar e Selecionar De tabela de clientes.

  3. Clique na célula Direito da célula de nome do cliente e tipo um nome.

  4. Clique na célula para a Direito da célula satisfação de classificação e Selecionar uma das opções disponíveis.

    Verifique se que você não pode tipo sua própria entrada.O DropDownListContentControl permite aos usuários apenas selecionar em uma lista de entradas.

  5. Clique na célula Direito da célula comentários e tipo alguns comentários.

    Opcionalmente, Adicionar algum conteúdo diferente de texto, como arte ou uma tabela incorporada.Isso é possível porque o RichTextContentControl permite que os usuários Adicionar conteúdo diferente de texto.

  6. Verifique se que você pode adicionar linhas ou colunas à tabela, e que é possível excluir linhas e colunas da tabela.Isso é possível porque você não ter protegido a tabela, colocando-lo em um GroupContentControl.

  7. Fechar o modelo.

Próximas etapas

Você pode saber mais sobre como usar controles de conteúdo desse tópico:

Consulte também

Tarefas

Como: Adicionar controles de conteúdo a documentos do Word

Como: Proteger partes de documentos, usando controles de conteúdo

Conceitos

Os controles de conteúdo

Itens de host e Visão geral sobre controles de host

Limitações através de programação de itens de host e controles de host

Adicionar controles a documentos do Office em tempo de execução

Métodos de auxiliar para controles de host

Outros recursos

Controles de host do Word