Udostępnij za pośrednictwem


Jak: dodawanie formantów zawartości do dokumentów programu Word

W poziomie dokumentu programu Word projektów można dodać formanty zawartości w dokumencie w projekcie, w czasie projektowania lub w czasie wykonywania.W projektach programu Word poziom aplikacji można dodać formanty zawartości do otwartego dokumentu, w czasie wykonywania.

Dotyczy: Informacje przedstawione w tym temacie dotyczą projektów na poziomie dokumentu i projektów na poziomie aplikacji dla programów Word 2013 i Word 2010. Aby uzyskać więcej informacji, zobacz Funkcje dostępne w aplikacji pakietu Office i typ projektu.

W tym temacie opisano następujące zadania:

  • Dodawanie formantów zawartości w czasie projektowania

  • Dodawanie formantów zawartości w czasie wykonania w projekt na poziomie dokumentu

  • Dodawanie formantów zawartości w czasie wykonywania w projekcie na poziomie aplikacji

Informacje dla formantów zawartości, zobacz Formanty zawartości.

Dodawanie formantów zawartości w czasie projektowania

Istnieje kilka sposobów dodawania formantów zawartości do dokumentu w projekcie na poziomie dokumentu w czasie projektowania:

[!UWAGA]

Na danym komputerze mogą być używane inne nazwy lub lokalizacje pewnych elementów interfejsu użytkownika programu Visual Studio, które są używane w poniższych instrukcjach. Używana wersja programu Visual Studio oraz jej ustawienia określają te elementy. Aby uzyskać więcej informacji, zobacz Visual Studio, ustawienia.

Aby dodać formant zawartości do dokumentu za pomocą przybornika

  1. W dokumencie, który znajduje się w Visual Studio designer, umieść kursor w którym chcesz dodać formant zawartości, lub zaznacz tekst, który ma zastąpić formant zawartości.

  2. Otwórz Przybornik i kliknij przycisk Kontroli słowo kartę.

  3. Dodaj formant, jeden z następujących sposobów:

    • Kliknij dwukrotnie formant zawartości w Przybornik.

      lub

    • Kliknij formant zawartości w Przybornik , a następnie naciśnij klawisz ENTER.

      lub

    • Przeciągnij formant zawartości z Przybornik do dokumentu.Formant zawartości jest dodawany bieżącego zaznaczenia w dokumencie, a nie lokalizacji kursora myszy.

[!UWAGA]

Nie można dodać GroupContentControl za pomocą Przybornik.Można dodawać tylko GroupContentControl w programie Word lub w czasie wykonywania.

[!UWAGA]

Visual Studio nie zapewnia formant zawartości pola wyboru w przyborniku na Word 2013 i projektów w programie Word 2010.Aby dodać formant zawartości pola wyboru do dokumentu, należy utworzyć ContentControl obiekt programowo.Aby uzyskać więcej informacji, zobacz Formanty zawartości.

Aby dodać formant zawartości do dokumentu w programie Word

  1. W dokumencie, który znajduje się w Visual Studio designer, umieść kursor w którym chcesz dodać formant zawartości, lub zaznacz tekst, który ma zastąpić formant zawartości.

  2. Kliknij na Wstążce, autora kartę.

    [!UWAGA]

    Jeśli autora karta nie jest widoczna, najpierw należy wyświetlić.Aby uzyskać więcej informacji, zobacz Jak: Pokaż kartę Deweloper na Wstążce.

  3. W kontroli grupy, kliknij ikonę formant zawartości, który chcesz dodać.

Dodawanie formantów zawartości w czasie wykonywania projektu poziomie dokumentu

Można dodać formanty zawartości programowo do dokumentu w czasie wykonywania przy użyciu metody Controls właściwość ThisDocument klasy do projektu.Każda metoda ma trzy overloads, które można użyć, aby dodać formant zawartości w następujący sposób:

  • Dodawanie formantu w bieżącym zaznaczeniem.

  • Dodawanie formantu w określonym zakresie.

  • Dodaj formant, który jest oparty na macierzystego formantu zawartości w dokumencie.

Tworzone dynamicznie treści, które formanty nie są zachowywane w dokumencie, gdy dokument jest zamykany.Jednak macierzystego formantu zawartości pozostanie w dokumencie.Można ponownie utworzyć formant zawartości, który jest oparty na macierzystego formantu zawartości przy następnym otwarciu dokumentu.Aby uzyskać więcej informacji, zobacz Dodawanie formantów do dokumentów pakietu Office w czasie wykonywania.

[!UWAGA]

Aby dodać formant zawartości pola wyboru do dokumentu w projekcie programu Word 2010, należy utworzyć ContentControl obiektu.Aby uzyskać więcej informacji, zobacz Formanty zawartości.

Aby dodać formant zawartości w bieżącym zaznaczeniem

  • Użycie ControlCollection metodę o nazwie Add<Klasa sterowania> (gdzie Klasa sterowania jest nazwą klasy formant zawartości, który chcesz dodać, takich jak AddRichTextContentControl), i że ma jeden parametr dla nazwy nowego formantu.

    Następujący kod w przykładzie wykorzystano ControlCollection.AddRichTextContentControl(String) metoda, aby dodać nowy RichTextContentControl do początku dokumentu.Aby uruchomić ten kod, należy dodać kod do ThisDocument klasy w projekcie, a wywołanie AddRichTextControlAtSelection metoda z ThisDocument_Startup programu obsługi zdarzeń.

    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";
    }
    

Aby dodać formant zawartości w określonym zakresie

  • Użycie ControlCollection metodę o nazwie Add<Klasa sterowania> (gdzie Klasa sterowania jest nazwą klasy formantu zawartości, który chcesz dodać, takich jak AddRichTextContentControl), i że ma Microsoft.Office.Interop.Word.Range parametru.

    Następujący kod w przykładzie wykorzystano ControlCollection.AddRichTextContentControl(Range, String) metoda, aby dodać nowy RichTextContentControl do początku dokumentu.Aby uruchomić ten kod, należy dodać kod do ThisDocument klasy w projekcie, a wywołanie AddRichTextControlAtRange metoda z ThisDocument_Startup programu obsługi zdarzeń.

    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";
    }
    

Aby dodać formant zawartości, który jest oparty na macierzystego formantu zawartości

  • Użycie ControlCollection metodę o nazwie Add<Klasa sterowania> (gdzie Klasa sterowania jest nazwą klasy formantu zawartości, który chcesz dodać, takich jak AddRichTextContentControl), i że ma Microsoft.Office.Interop.Word.ContentControl parametru.

    Następujący kod w przykładzie wykorzystano ControlCollection.AddRichTextContentControl(ContentControl, String) metoda, aby utworzyć nową RichTextContentControl dla każdego formantu macierzystego tekstu sformatowanego, który znajduje się w dokumencie.Aby uruchomić ten kod, należy dodać kod do ThisDocument klasy w projekcie, a wywołanie CreateRichTextControlsFromNativeControls metoda z ThisDocument_Startup programu obsługi zdarzeń.

    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);
            }
        }
    }
    

Dodawanie formantów zawartości w czasie wykonywania w projekcie na poziomie aplikacji

Można dodać formanty zawartości programowo do otwartego dokumentu, w czasie wykonywania przy użyciu dodatku poziomie aplikacji.Aby to zrobić, należy wygenerować Document host element, który jest oparty na otwartym dokumencie, a następnie użyj metody Controls właściwości tego elementu hosta.Każda metoda ma trzy overloads, które można użyć, aby dodać formant zawartości w następujący sposób:

  • Dodawanie formantu w bieżącym zaznaczeniem.

  • Dodawanie formantu w określonym zakresie.

  • Dodaj formant, który jest oparty na macierzystego formantu zawartości w dokumencie.

Tworzone dynamicznie treści, które formanty nie są zachowywane w dokumencie, gdy dokument jest zamykany.Jednak macierzystego formantu zawartości pozostanie w dokumencie.Można ponownie utworzyć formant zawartości, który jest oparty na macierzystego formantu zawartości przy następnym otwarciu dokumentu.Aby uzyskać więcej informacji, zobacz Utrwalanie formantów dynamicznych w dokumentach pakietu Office.

Aby uzyskać więcej informacji na temat generowania elementów hosta w poziomie aplikacji, zobacz Rozszerzanie dokumenty programu Word oraz skoroszyty programu Excel w dodatki poziomie aplikacji w czasie wykonywania.

[!UWAGA]

Aby dodać formant zawartości pola wyboru do dokumentu w Word 2013 lub projektu programu Word 2010, należy utworzyć ContentControl obiektu.Aby uzyskać więcej informacji, zobacz Formanty zawartości.

Aby dodać formant zawartości w bieżącym zaznaczeniem

  • Użycie ControlCollection metodę o nazwie Add<Klasa sterowania> (gdzie Klasa sterowania jest nazwą klasy formant zawartości, który chcesz dodać, takich jak AddRichTextContentControl), i że ma jeden parametr dla nazwy nowego formantu.

    Następujący kod w przykładzie wykorzystano ControlCollection.AddRichTextContentControl(String) metoda, aby dodać nowy RichTextContentControl na początku aktywnego dokumentu.Aby uruchomić ten kod, należy dodać kod do ThisAddIn klasy w projekcie, a wywołanie AddRichTextControlAtSelection metoda z ThisAddIn_Startup programu obsługi zdarzeń.

    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 = Globals.Factory.GetVstoObject(currentDocument)
    
    
        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 = Globals.Factory.GetVstoObject(currentDocument);
    
        richTextControl1 = extendedDocument.Controls.AddRichTextContentControl("richTextControl1");
        richTextControl1.PlaceholderText = "Enter your first name";
    }
    

Aby dodać formant zawartości w określonym zakresie

  • Użycie ControlCollection metodę o nazwie Add<Klasa sterowania> (gdzie Klasa sterowania jest nazwą klasy formantu zawartości, który chcesz dodać, takich jak AddRichTextContentControl), i że ma Microsoft.Office.Interop.Word.Range parametru.

    Następujący kod w przykładzie wykorzystano ControlCollection.AddRichTextContentControl(Range, String) metoda, aby dodać nowy RichTextContentControl na początku aktywnego dokumentu.Aby uruchomić ten kod, należy dodać kod do ThisAddIn klasy w projekcie, a wywołanie AddRichTextControlAtRange metoda z ThisAddIn_Startup programu obsługi zdarzeń.

    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 = Globals.Factory.GetVstoObject(currentDocument)
    
        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 = Globals.Factory.GetVstoObject(currentDocument);
    
        richTextControl2 = extendedDocument.Controls.AddRichTextContentControl(
            currentDocument.Paragraphs[1].Range, "richTextControl2");
        richTextControl2.PlaceholderText = "Enter your first name";
    }
    

Aby dodać formant zawartości, który jest oparty na macierzystego formantu zawartości

  • Użycie ControlCollection metodę o nazwie Add<Klasa sterowania> (gdzie Klasa sterowania jest nazwą klasy formantu zawartości, który chcesz dodać, takich jak AddRichTextContentControl), i że ma Microsoft.Office.Interop.Word.ContentControl parametru.

    Następujący kod w przykładzie wykorzystano ControlCollection.AddRichTextContentControl(ContentControl, String) metoda, aby utworzyć nową RichTextContentControl dla każdego formantu macierzystego tekstu sformatowanego, który znajduje się w dokumencie, po otwarciu dokumentu.Aby uruchomić ten kod, należy dodać kod do ThisAddIn klasy do projektu.

    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 = Globals.Factory.GetVstoObject(Doc)
    
            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 = Globals.Factory.GetVstoObject(Doc);
    
            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);
                }
            }
        }
    }
    

    Język C#, należy również dołączyć Application_DocumentOpen obsługi zdarzeń do DocumentOpen zdarzenie.

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

Zobacz też

Koncepcje

Automatyzowanie programu Word przy użyciu obiektów rozszerzony

Elementy hosta i Omówienie kontroli hosta

Dodawanie formantów do dokumentów pakietu Office w czasie wykonywania

Ograniczenia programowy hosta elementów i kontrolek hosta

Inne zasoby

Programowanie aplikacji poziom dodatki

Dostosowania poziomu dokument programowania