Compartilhar via


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

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

  • Projetos de nível de aplicativo

Versão do Microsoft Office

  • Word 2007

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

Em projetos de nível de documento, você pode adicionar controles de conteúdo para o documento em seu projeto em tempo de design ou em tempo de execução.Iniciando no Visual Studio 2008 Serviço Pack 1 (SP1), você também pode adicionar controles de conteúdo para qualquer Abrir documento no tempo de execução usando em um suplemento do nível de aplicativo para Word 2007.

Este tópico descreve as seguintes tarefas:

  • Adicionar controles de conteúdo no tempo de design

  • Adicionar controles de conteúdo no tempo de execução em um projeto de nível de documento

  • Adicionar controles de conteúdo no tempo de execução em um projeto de nível de aplicativo

Para obter informações sobre controles de conteúdo, consulte Os controles de conteúdo.

Adicionando controles de conteúdo em tempo de design

Há várias maneiras de adicionar controles de conteúdo ao documento em um projeto de nível de documento em tempo de design:

  • Adicionar um controle de conteúdo da guia Controles do Word da De caixa de ferramentas.

  • Adicionar um Controlarar de conteúdo para o documento da mesma maneira adicione um Controlarar de conteúdo nativo no Word.

  • Arraste um Controlarar de conteúdo ao documento da janela Fontes de dados.Isso é útil quando você deseja Ligar o Controlarar a dados quando o Controlarar é criado.Para obter mais informações, consulte Como: Preencher documentos com dados de objetos e Como: Preencher documentos com dados de um banco de dados.

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.

Para adicionar um Controlarar de conteúdo a um documento usando a caixa de ferramentas

  1. No documento que está hospedado no designer Visual Studio, coloque o cursor onde você deseja adicionar o Controlarar de conteúdo ou Selecionar o texto que você deseja que o Controlarar de conteúdo para substituir.

  2. Abrir De caixa de ferramentas e clique na guia de controles do Word.

  3. Adicionar o Controlarar de uma das seguintes maneiras:

    • Clique Duplo um Controlarar de conteúdo em De caixa de ferramentas.

      - ou -

    • Clique em um Controlarar de conteúdo na caixa de ferramentas e Pressionarionar a tecla ENTER.

      - ou -

    • Arraste um Controlarar conteúdo de De caixa de ferramentas para o documento.O Controlarar de conteúdo é adicionado na seleção atual no documento, não no local do ponteiro do mouse.

Observação:

Não é possível adicionar um GroupContentControl usando a caixa de ferramentas .Você só pode adicionar um GroupContentControl no Word, ou em tempo de execução.

Para adicionar um Controlarar de conteúdo a um documento no Word

  1. No documento que está hospedado no designer Visual Studio, coloque o cursor onde você deseja adicionar o Controlarar de conteúdo ou Selecionar o texto que você deseja que o Controlarar de conteúdo para substituir.

  2. 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.

  3. No AAgruparar controles, clique no ícone para o controle de conteúdo que você deseja adicionar.

Adicionando controles de conteúdo em tempo de execução em um projeto de nível de documento

Você pode adicionar controles de conteúdo por meio de programação ao seu documento em tempo de execução usando métodos da propriedade Controls da classe ThisDocument no seu projeto.Cada método tem três sobrecargas que você pode usar para adicionar um Controlarar de conteúdo das seguintes maneiras:

  • Adicionar um Controlarar na seleção atual.

  • Adicionar um Controlarar em um intervalo especificado.

  • Adicionar um Controlarar que se baseia em um Controlarar de conteúdo nativo no documento.

Criada dinamicamente conteúdo de Ferramentas do Visual Studio para o Office controles não são persistentes no documento quando o documento é Fechada.No entanto, um Controlarar de conteúdo nativo permanece no documento.Você pode recriar um Controlarar de conteúdo de Ferramentas do Visual Studio para o Office que é baseado em um Controlarar de conteúdo nativo a Avançar vez que o documento for aberto.For more information, see Adicionar controles a documentos do Office em tempo de execução.

Para adicionar um Controlarar de conteúdo na seleção atual

  • Usar um método de ControlCollection que tem o nome Add<Controlarar classe > (onde de classe de Controlarar de é o nome de classe do Controlarar conteúdo que você deseja adicionar, como AddRichTextContentControl), e que possui um Simples parâmetro para o nome do novo Controlarar.

    O exemplo de código a seguir usa o método de ControlCollection.AddRichTextContentControl(String) para adicionar um novo RichTextContentControl para o início do documento.Para executar esse código, Adicionar o código para o ThisDocument classe em seu projeto e chamar o método de AddRichTextControlAtSelection do ThisDocument_Startup manipulador de eventos.

    Dim richTextControl1 As Microsoft.Office.Tools.Word.RichTextContentControl
    
    Private Sub AddRichTextControlAtSelection()
        Me.Paragraphs(1).Range.InsertParagraphBefore()
        Me.Paragraphs(1).Range.Select()
        richTextControl1 = Me.Controls.AddRichTextContentControl("richTextControl1")
        richTextControl1.PlaceholderText = "Enter your first name"
    End Sub
    
    private Microsoft.Office.Tools.Word.RichTextContentControl richTextControl1;
    
    private void AddRichTextControlAtSelection()
    {
        this.Paragraphs[1].Range.InsertParagraphBefore();
        this.Paragraphs[1].Range.Select();
    
        richTextControl1 = this.Controls.AddRichTextContentControl("richTextControl1");
        richTextControl1.PlaceholderText = "Enter your first name";
    }
    

Para adicionar um Controlarar de conteúdo em um intervalo especificado

  • Usar um método de ControlCollection que tem o nome Add<Controlarar classe > (onde de classe de Controlarar de é o nome da classe de Controlarar de conteúdo que você deseja adicionar, como AddRichTextContentControl), e que possui um parâmetro Microsoft.Office.Interop.Word.Range.

    O exemplo de código a seguir usa o método de ControlCollection.AddRichTextContentControl(Range, String) para adicionar um novo RichTextContentControl para o início do documento.Para executar esse código, Adicionar o código para o ThisDocument classe em seu projeto e chamar o método de AddRichTextControlAtRange do ThisDocument_Startup manipulador de eventos.

    Dim richTextControl2 As Microsoft.Office.Tools.Word.RichTextContentControl
    
    Private Sub AddRichTextControlAtRange()
        Me.Paragraphs(1).Range.InsertParagraphBefore()
        richTextControl2 = Me.Controls.AddRichTextContentControl(Me.Paragraphs(1).Range, _
            "richTextControl2")
        richTextControl2.PlaceholderText = "Enter your first name"
    End Sub
    
    private Microsoft.Office.Tools.Word.RichTextContentControl richTextControl2;
    
    private void AddRichTextControlAtRange()
    {
        this.Paragraphs[1].Range.InsertParagraphBefore();
    
        richTextControl2 = this.Controls.AddRichTextContentControl(this.Paragraphs[1].Range,
            "richTextControl2");
        richTextControl2.PlaceholderText = "Enter your first name";
    }
    

Adicionar um Controlarar de conteúdo que se baseia em um Controlarar de conteúdo nativo

  • Usar um método de ControlCollection que tem o nome Add<Controlarar classe > (onde de classe de Controlarar de é o nome da classe de Controlarar de conteúdo que você deseja adicionar, como AddRichTextContentControl), e que possui um parâmetro Microsoft.Office.Interop.Word.ContentControl.

    O exemplo de código a seguir usa o método de ControlCollection.AddRichTextContentControl(ContentControl, String) para criar um novo RichTextContentControl para cada Controlarar nativo rich Texto que no documento.Para executar esse código, Adicionar o código para o ThisDocument classe em seu projeto e chamar o método de CreateRichTextControlsFromNativeControls do ThisDocument_Startup manipulador de eventos.

    Private richTextControls As New System.Collections.Generic.List _
            (Of Microsoft.Office.Tools.Word.RichTextContentControl)
    
    Private Sub CreateRichTextControlsFromNativeControls()
        If Me.ContentControls.Count <= 0 Then
            Return
        End If
    
        Dim count As Integer = 0
        For Each nativeControl As Word.ContentControl In Me.ContentControls
            If nativeControl.Type = Word.WdContentControlType.wdContentControlRichText Then
                count += 1
                Dim tempControl As Microsoft.Office.Tools.Word.RichTextContentControl = _
                    Me.Controls.AddRichTextContentControl(nativeControl, _
                    "VSTORichTextContentControl" + count.ToString())
                richTextControls.Add(tempControl)
            End If
        Next nativeControl
    End Sub
    
    private System.Collections.Generic.List
        <Microsoft.Office.Tools.Word.RichTextContentControl> richTextControls;
    
    private void CreateRichTextControlsFromNativeControls()
    {
        if (this.ContentControls.Count <= 0)
            return;
    
        richTextControls = new System.Collections.Generic.List
            <Microsoft.Office.Tools.Word.RichTextContentControl>();
        int count = 0;
    
        foreach (Word.ContentControl nativeControl in this.ContentControls)
        {
            if (nativeControl.Type ==
                Microsoft.Office.Interop.Word.WdContentControlType.wdContentControlRichText)
            {
                count++;
                Microsoft.Office.Tools.Word.RichTextContentControl tempControl =
                    this.Controls.AddRichTextContentControl(nativeControl,
                    "VSTORichTextControl" + count.ToString());
                richTextControls.Add(tempControl);
            }
        }
    }
    

Adicionando controles de conteúdo em tempo de execução em um projeto de nível de aplicativo

Iniciando no SP1, você pode adicionar controles de conteúdo programaticamente a qualquer Abrir documento em tempo de execução, usando um suplemento em nível de aplicativo.Para fazer isso, gerar um item de host Document que se baseia uma Abrir documento e, em seguida, usar métodos da propriedade Controls deste item de host.Cada método tem três sobrecargas que você pode usar para adicionar um Controlarar de conteúdo das seguintes maneiras:

  • Adicionar um Controlarar na seleção atual.

  • Adicionar um Controlarar em um intervalo especificado.

  • Adicionar um Controlarar que se baseia em um Controlarar de conteúdo nativo no documento.

Criada dinamicamente conteúdo de Ferramentas do Visual Studio para o Office controles não são persistentes no documento quando o documento é Fechada.No entanto, um Controlarar de conteúdo nativo permanece no documento.Você pode recriar um Controlarar de conteúdo de Ferramentas do Visual Studio para o Office que é baseado em um Controlarar de conteúdo nativo a Avançar vez que o documento for aberto.For more information, see Persistência controles dinâmicos em documentos do Office.

Para obter mais informações sobre host gerar itens em projetos de nível de aplicativo, consulte Estendendo os documentos do Word e Excel pastas de trabalho no nível de aplicativo Adicionar-ins em tempo de execução.

Para adicionar um Controlarar de conteúdo na seleção atual

  • Usar um método de ControlCollection que tem o nome Add<Controlarar classe > (onde de classe de Controlarar de é o nome de classe do Controlarar conteúdo que você deseja adicionar, como AddRichTextContentControl), e que possui um Simples parâmetro para o nome do novo Controlarar.

    O exemplo de código a seguir usa o método de ControlCollection.AddRichTextContentControl(String) para adicionar um novo RichTextContentControl para o início do documento ativo.Para executar esse código, Adicionar o código para o ThisAddIn classe em seu projeto e chamar o método de AddRichTextControlAtSelection do ThisAddIn_Startup manipulador de eventos.

    Dim richTextControl1 As Microsoft.Office.Tools.Word.RichTextContentControl
    
    Private Sub AddRichTextControlAtSelection()
        Dim currentDocument As Word.Document = Me.Application.ActiveDocument
        currentDocument.Paragraphs(1).Range.InsertParagraphBefore()
        currentDocument.Paragraphs(1).Range.Select()
    
        Dim extendedDocument As Document = currentDocument.GetVstoObject()
        richTextControl1 = extendedDocument.Controls.AddRichTextContentControl("richTextControl1")
        richTextControl1.PlaceholderText = "Enter your first name"
    End Sub
    
    private Microsoft.Office.Tools.Word.RichTextContentControl richTextControl1;
    
    private void AddRichTextControlAtSelection()
    {
        Word.Document currentDocument = this.Application.ActiveDocument;
        currentDocument.Paragraphs[1].Range.InsertParagraphBefore();
        currentDocument.Paragraphs[1].Range.Select();
    
        Document extendedDocument = currentDocument.GetVstoObject();
        richTextControl1 = extendedDocument.Controls.AddRichTextContentControl(
            "richTextControl1");
        richTextControl1.PlaceholderText = "Enter your first name";
    }
    

Para adicionar um Controlarar de conteúdo em um intervalo especificado

  • Usar um método de ControlCollection que tem o nome Add<Controlarar classe > (onde de classe de Controlarar de é o nome da classe de Controlarar de conteúdo que você deseja adicionar, como AddRichTextContentControl), e que possui um parâmetro Microsoft.Office.Interop.Word.Range.

    O exemplo de código a seguir usa o método de ControlCollection.AddRichTextContentControl(Range, String) para adicionar um novo RichTextContentControl para o início do documento ativo.Para executar esse código, Adicionar o código para o ThisAddIn classe em seu projeto e chamar o método de AddRichTextControlAtRange do ThisAddIn_Startup manipulador de eventos.

    Dim richTextControl2 As Microsoft.Office.Tools.Word.RichTextContentControl
    
    Private Sub AddRichTextControlAtRange()
        Dim currentDocument As Word.Document = Me.Application.ActiveDocument
        currentDocument.Paragraphs(1).Range.InsertParagraphBefore()
    
        Dim extendedDocument As Document = currentDocument.GetVstoObject()
        richTextControl2 = extendedDocument.Controls.AddRichTextContentControl( _
            extendedDocument.Paragraphs(1).Range, "richTextControl2")
        richTextControl2.PlaceholderText = "Enter your first name"
    End Sub
    
    private Microsoft.Office.Tools.Word.RichTextContentControl richTextControl2;
    
    private void AddRichTextControlAtRange()
    {
        Word.Document currentDocument = this.Application.ActiveDocument;
        currentDocument.Paragraphs[1].Range.InsertParagraphBefore();
    
        Document extendedDocument = currentDocument.GetVstoObject();
        richTextControl2 = extendedDocument.Controls.AddRichTextContentControl(
            currentDocument.Paragraphs[1].Range, "richTextControl2");
        richTextControl2.PlaceholderText = "Enter your first name";
    }
    

Adicionar um Controlarar de conteúdo que se baseia em um Controlarar de conteúdo nativo

  • Usar um método de ControlCollection que tem o nome Add<Controlarar classe > (onde de classe de Controlarar de é o nome da classe de Controlarar de conteúdo que você deseja adicionar, como AddRichTextContentControl), e que possui um parâmetro Microsoft.Office.Interop.Word.ContentControl.

    O exemplo de código a seguir usa o método de ControlCollection.AddRichTextContentControl(ContentControl, String) para criar um novo RichTextContentControl para cada Controlarar nativo rich Texto que está em um documento, após o documento for aberto.Para executar esse código, Adicionar o código para a classe ThisAddIn no seu projeto.

    Private richTextControls As New System.Collections.Generic.List _
        (Of Microsoft.Office.Tools.Word.RichTextContentControl)
    
    Private Sub Application_DocumentOpen(ByVal Doc As Microsoft.Office.Interop.Word.Document) _
        Handles Application.DocumentOpen
    
        If Doc.ContentControls.Count > 0 Then
            Dim extendedDocument As Document = Doc.GetVstoObject()
            Dim count As Integer = 0
            For Each nativeControl As Word.ContentControl In Doc.ContentControls
                If nativeControl.Type = Word.WdContentControlType.wdContentControlRichText Then
                    count += 1
                    Dim tempControl As Microsoft.Office.Tools.Word.RichTextContentControl = _
                        extendedDocument.Controls.AddRichTextContentControl(nativeControl, _
                        "VSTORichTextContentControl" + count.ToString())
                    richTextControls.Add(tempControl)
                End If
            Next nativeControl
        End If
    End Sub
    
    private System.Collections.Generic.List
        <Microsoft.Office.Tools.Word.RichTextContentControl> richTextControls;
    
    private void Application_DocumentOpen(Microsoft.Office.Interop.Word.Document Doc)
    {
        if (Doc.ContentControls.Count > 0)
        {
            Document extendedDocument = Doc.GetVstoObject();
            richTextControls = new System.Collections.Generic.List
                <Microsoft.Office.Tools.Word.RichTextContentControl>();
            int count = 0;
    
            foreach (Word.ContentControl nativeControl in Doc.ContentControls)
            {
                if (nativeControl.Type ==
                    Microsoft.Office.Interop.Word.WdContentControlType.wdContentControlRichText)
                {
                    count++;
                    Microsoft.Office.Tools.Word.RichTextContentControl tempControl =
                        extendedDocument.Controls.AddRichTextContentControl(nativeControl,
                        "VSTORichTextControl" + count.ToString());
                    richTextControls.Add(tempControl);
                }
            }
        }
    }
    

    Para o C#, você também deve anexar o manipulador de eventos Application_DocumentOpen para o evento DocumentOpen.

    this.Application.DocumentOpen +=
        new Word.ApplicationEvents4_DocumentOpenEventHandler(Application_DocumentOpen);
    

Consulte também

Conceitos

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

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

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

Programação Application-Nível Adicionar-ins

Personalizações de nível de documento de programação

Métodos de auxiliar para controles de host

Outros recursos

Controles de host do Word

Date

History

Motivo

De 2008 de julho

Procedimento Adicionado para suplementos de nível de aplicativo.

Alteração de recurso do SP1.