Поделиться через


ControlCollection.AddRichTextContentControl Метод

Определение

Перегрузки

AddRichTextContentControl(String)

Добавляет новый элемент управления RichTextContentControl в выделенном фрагменте документа.

AddRichTextContentControl(ContentControl, String)

Добавляет новый объект RichTextContentControl, основанный на собственном элементе управления содержимым, в документ.

AddRichTextContentControl(Range, String)

Добавляет новый объект RichTextContentControl в указанный диапазон в документе.

AddRichTextContentControl(String)

Добавляет новый элемент управления RichTextContentControl в выделенном фрагменте документа.

public:
 Microsoft::Office::Tools::Word::RichTextContentControl ^ AddRichTextContentControl(System::String ^ name);
public Microsoft.Office.Tools.Word.RichTextContentControl AddRichTextContentControl (string name);
abstract member AddRichTextContentControl : string -> Microsoft.Office.Tools.Word.RichTextContentControl
Public Function AddRichTextContentControl (name As String) As RichTextContentControl

Параметры

name
String

Имя нового элемента управления.

Возвращаемое значение

Объект RichTextContentControl, добавленный в документ.

Исключения

name имеет значение null или нулевую длину.

Элемент управления с таким именем уже содержится в ControlCollection.

Примеры

В следующем примере кода в начало документа добавляется новый RichTextContentControl объект .

Эта версия используется для настройки на уровне документа. Чтобы использовать этот код, вставьте его в ThisDocument класс в проекте и вызовите AddRichTextControlAtSelection метод из ThisDocument_Startup метода .

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

Эта версия предназначена для надстройки уровня приложения, предназначенной для платформа .NET Framework 4 или платформа .NET Framework 4.5. Чтобы использовать этот код, вставьте его в ThisAddIn класс в проекте и вызовите AddRichTextControlAtSelection метод из ThisAddIn_Startup метода .

private Microsoft.Office.Tools.Word.RichTextContentControl richTextControl1;

private void AddRichTextControlAtSelection()
{
    if (this.Application.ActiveDocument == null)
        return;

    Document vstoDoc = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
    vstoDoc.Paragraphs[1].Range.InsertParagraphBefore();
    vstoDoc.Paragraphs[1].Range.Select();

    richTextControl1 = vstoDoc.Controls.AddRichTextContentControl("richTextControl1");
    richTextControl1.PlaceholderText = "Enter your first name";
}
Dim richTextControl1 As Microsoft.Office.Tools.Word.RichTextContentControl

Private Sub AddRichTextControlAtSelection()
    If Me.Application.ActiveDocument Is Nothing Then
        Return
    End If

    Dim vstoDoc As Document = Globals.Factory.GetVstoObject(Me.Application.ActiveDocument)
    vstoDoc.Paragraphs(1).Range.InsertParagraphBefore()
    vstoDoc.Paragraphs(1).Range.Select()
    richTextControl1 = vstoDoc.Controls.AddRichTextContentControl("richTextControl1")
    richTextControl1.PlaceholderText = "Enter your first name"
End Sub

Комментарии

Используйте этот метод, чтобы добавить новый RichTextContentControl объект при текущем выборе в документе во время выполнения. Для получения дополнительной информации см. Adding Controls to Office Documents at Run Time.

Применяется к

AddRichTextContentControl(ContentControl, String)

Добавляет новый объект RichTextContentControl, основанный на собственном элементе управления содержимым, в документ.

public:
 Microsoft::Office::Tools::Word::RichTextContentControl ^ AddRichTextContentControl(Microsoft::Office::Interop::Word::ContentControl ^ contentControl, System::String ^ name);
public Microsoft.Office.Tools.Word.RichTextContentControl AddRichTextContentControl (Microsoft.Office.Interop.Word.ContentControl contentControl, string name);
abstract member AddRichTextContentControl : Microsoft.Office.Interop.Word.ContentControl * string -> Microsoft.Office.Tools.Word.RichTextContentControl
Public Function AddRichTextContentControl (contentControl As ContentControl, name As String) As RichTextContentControl

Параметры

contentControl
ContentControl

Объект ContentControl, который является основой для нового элемента управления.

name
String

Имя нового элемента управления.

Возвращаемое значение

Объект RichTextContentControl, добавленный в документ.

Исключения

contentControl имеет nullзначение .-or- name is null или имеет нулевую длину.

Элемент управления с таким именем уже содержится в ControlCollection.

contentControlне является коллекцией стандартных блоков (то есть Microsoft.Office.Interop.Word. Свойство contentControl ContentControl.Type объекта не имеет значения Microsoft.Office.Interop.Word. WdContentControlType.wdContentControlRichText).

Примеры

В следующем примере кода создается новый RichTextContentControl объект для каждого собственного элемента управления форматированным текстом, который находится в документе.

Эта версия используется для настройки на уровне документа. Чтобы использовать этот код, вставьте его в ThisDocument класс в проекте и вызовите CreateRichTextControlsFromNativeControls метод из ThisDocument_Startup метода .

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

Эта версия предназначена для надстройки уровня приложения, предназначенной для платформа .NET Framework 4 или платформа .NET Framework 4.5. Чтобы использовать этот код, вставьте его в ThisAddIn класс в проекте и вызовите CreateRichTextControlsFromNativeControls метод из ThisAddIn_Startup метода .

private System.Collections.Generic.List
    <Microsoft.Office.Tools.Word.RichTextContentControl> richTextControls;

private void CreateRichTextControlsFromNativeControls()
{
    if (this.Application.ActiveDocument == null)
        return;

    Document vstoDoc = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
    if (vstoDoc.ContentControls.Count <= 0)
        return;

    richTextControls = new System.Collections.Generic.List
        <Microsoft.Office.Tools.Word.RichTextContentControl>();
    int count = 0;
    
    foreach (Word.ContentControl nativeControl in vstoDoc.ContentControls)
    {
        if (nativeControl.Type ==
            Microsoft.Office.Interop.Word.WdContentControlType.wdContentControlRichText)
        {
            count++;
            Microsoft.Office.Tools.Word.RichTextContentControl tempControl =
                vstoDoc.Controls.AddRichTextContentControl(nativeControl,
                "VSTORichTextControl" + count.ToString());
            richTextControls.Add(tempControl);
        }
    }
}
Private richTextControls As New System.Collections.Generic.List _
        (Of Microsoft.Office.Tools.Word.RichTextContentControl)

Private Sub CreateRichTextControlsFromNativeControls()
    If Me.Application.ActiveDocument Is Nothing Then
        Return
    End If

    Dim vstoDoc As Document = Globals.Factory.GetVstoObject(Me.Application.ActiveDocument)
    If vstoDoc.ContentControls.Count <= 0 Then
        Return
    End If

    Dim count As Integer = 0
    For Each nativeControl As Word.ContentControl In vstoDoc.ContentControls
        If nativeControl.Type = Word.WdContentControlType.wdContentControlRichText Then
            count += 1
            Dim tempControl As Microsoft.Office.Tools.Word.RichTextContentControl = _
                vstoDoc.Controls.AddRichTextContentControl(nativeControl, _
                "VSTORichTextContentControl" + count.ToString())
            richTextControls.Add(tempControl)
        End If
    Next nativeControl
End Sub

В следующем примере кода создается новый RichTextContentControl для каждого собственного элемента управления форматированным текстом, который пользователь добавляет в документ.

Эта версия используется для настройки на уровне документа. Чтобы использовать этот код, вставьте его в ThisDocument класс в проекте. Для C# необходимо также присоединить ThisDocument_RichTextContentControlAfterAdd обработчик событий к событию ContentControlAfterAddThisDocument класса .

void ThisDocument_RichTextContentControlAfterAdd(Word.ContentControl NewContentControl, bool InUndoRedo)
{
    if (NewContentControl.Type == Word.WdContentControlType.wdContentControlRichText)
    {
        this.Controls.AddRichTextContentControl(NewContentControl,
            "RichTextControl" + NewContentControl.ID);
    }
}
Private Sub ThisDocument_RichTextContentControlAfterAdd(ByVal NewContentControl As Word.ContentControl, _
    ByVal InUndoRedo As Boolean) Handles Me.ContentControlAfterAdd

    If NewContentControl.Type = Word.WdContentControlType.wdContentControlRichText Then
        Me.Controls.AddRichTextContentControl(NewContentControl, _
            "RichTextControl" + NewContentControl.ID)
    End If
End Sub

Эта версия предназначена для надстройки уровня приложения, предназначенной для платформа .NET Framework 4 или платформа .NET Framework 4.5. Чтобы использовать этот код, вставьте его в ThisAddIn класс в проекте. Кроме того, необходимо присоединить ActiveDocument_RichTextContentControlAfterAdd обработчик событий к событию ContentControlAfterAdd активного документа.

void ActiveDocument_RichTextContentControlAfterAdd(
    Word.ContentControl NewContentControl, bool InUndoRedo)
{
    Document vstoDoc = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
    if (NewContentControl.Type == Word.WdContentControlType.wdContentControlRichText)
    {
        vstoDoc.Controls.AddRichTextContentControl(NewContentControl,
            "RichTextControl" + NewContentControl.ID);
    }
}
Private Sub ActiveDocument_RichTextContentControlAfterAdd( _
    ByVal NewContentControl As Word.ContentControl, _
    ByVal InUndoRedo As Boolean)

    Dim vstoDoc As Document = Globals.Factory.GetVstoObject(Me.Application.ActiveDocument)
    If NewContentControl.Type = Word.WdContentControlType. _
        wdContentControlRichText Then
        vstoDoc.Controls.AddRichTextContentControl(NewContentControl, _
            "RichTextControl" + NewContentControl.ID)
    End If
End Sub

Комментарии

Используйте этот метод, чтобы добавить новый RichTextContentControl объект, основанный на собственном элементе управления содержимым, в документе во время выполнения. Это полезно при создании RichTextContentControl во время выполнения и при следующем открытии документа необходимо повторно создать тот же элемент управления. Для получения дополнительной информации см. Adding Controls to Office Documents at Run Time.

Применяется к

AddRichTextContentControl(Range, String)

Добавляет новый объект RichTextContentControl в указанный диапазон в документе.

public:
 Microsoft::Office::Tools::Word::RichTextContentControl ^ AddRichTextContentControl(Microsoft::Office::Interop::Word::Range ^ range, System::String ^ name);
public Microsoft.Office.Tools.Word.RichTextContentControl AddRichTextContentControl (Microsoft.Office.Interop.Word.Range range, string name);
abstract member AddRichTextContentControl : Microsoft.Office.Interop.Word.Range * string -> Microsoft.Office.Tools.Word.RichTextContentControl
Public Function AddRichTextContentControl (range As Range, name As String) As RichTextContentControl

Параметры

range
Range

Объект Range, предоставляющий границы для нового элемента управления.

name
String

Имя нового элемента управления.

Возвращаемое значение

Объект RichTextContentControl, добавленный в документ.

Исключения

name имеет значение null или нулевую длину.

Элемент управления с таким именем уже содержится в ControlCollection.

Примеры

В следующем примере кода в начало документа добавляется новый RichTextContentControl объект .

Эта версия используется для настройки на уровне документа. Чтобы использовать этот код, вставьте его в ThisDocument класс в проекте и вызовите AddRichTextControlAtRange метод из ThisDocument_Startup метода .

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

Эта версия предназначена для надстройки уровня приложения, предназначенной для платформа .NET Framework 4 или платформа .NET Framework 4.5. Чтобы использовать этот код, вставьте его в ThisAddIn класс в проекте и вызовите AddRichTextControlAtRange метод из ThisAddIn_Startup метода .

private Microsoft.Office.Tools.Word.RichTextContentControl richTextControl2;

private void AddRichTextControlAtRange()
{
    if (this.Application.ActiveDocument == null)
        return;

    Document vstoDoc = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
    vstoDoc.Paragraphs[1].Range.InsertParagraphBefore();

    richTextControl2 = vstoDoc.Controls.AddRichTextContentControl(vstoDoc.Paragraphs[1].Range,
        "richTextControl2");
    richTextControl2.PlaceholderText = "Enter your first name";
}
Dim richTextControl2 As Microsoft.Office.Tools.Word.RichTextContentControl

Private Sub AddRichTextControlAtRange()
    If Me.Application.ActiveDocument Is Nothing Then
        Return
    End If

    Dim vstoDoc As Document = Globals.Factory.GetVstoObject(Me.Application.ActiveDocument)
    vstoDoc.Paragraphs(1).Range.InsertParagraphBefore()
    richTextControl2 = vstoDoc.Controls.AddRichTextContentControl( _
        vstoDoc.Paragraphs(1).Range, _
        "richTextControl2")
    richTextControl2.PlaceholderText = "Enter your first name"
End Sub

Комментарии

Используйте этот метод для добавления нового RichTextContentControl объекта в указанном диапазоне в документе во время выполнения. Для получения дополнительной информации см. Adding Controls to Office Documents at Run Time.

Применяется к