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


ControlCollection.AddGroupContentControl Метод

Определение

Перегрузки

AddGroupContentControl(String)

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

AddGroupContentControl(ContentControl, String)

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

AddGroupContentControl(Range, String)

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

AddGroupContentControl(String)

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

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

Параметры

name
String

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

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

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

Исключения

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

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

Примеры

В следующем примере кода добавляется новый абзац в начало документа и создается новый GroupContentControl абзац, содержащий этот абзац. Запрещает GroupContentControl пользователям изменять текст в абзаце. Дополнительные сведения об использовании GroupContentControl для защиты части документа см. в разделе Элементы управления содержимым.

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

private Microsoft.Office.Tools.Word.GroupContentControl groupControl1;

private void AddGroupControlAtSelection()
{
    this.Paragraphs[1].Range.InsertParagraphBefore();
    Word.Range range1 = this.Paragraphs[1].Range;
    range1.Text = "You cannot edit or change the formatting of text " +
        "in this paragraph, because this paragraph is in a GroupContentControl.";
    range1.Select();

    groupControl1 = this.Controls.AddGroupContentControl("groupControl1");
}
Dim groupControl1 As Microsoft.Office.Tools.Word.GroupContentControl

Private Sub AddGroupControlAtSelection()
    Me.Paragraphs(1).Range.InsertParagraphBefore()
    Me.Paragraphs(1).Range.Text = "You cannot edit or change the formatting of text " & _
            "in this paragraph, because this paragraph is in a GroupContentControl."
    Me.Paragraphs(1).Range.Select()
    groupControl1 = Me.Controls.AddGroupContentControl("groupControl1")
End Sub

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

private Microsoft.Office.Tools.Word.GroupContentControl groupControl1;

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

    Document vstoDoc = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
    vstoDoc.Paragraphs[1].Range.InsertParagraphBefore();
    Word.Range range1 = vstoDoc.Paragraphs[1].Range;
    range1.Text = "You cannot edit or change the formatting of text " +
        "in this paragraph, because this paragraph is in a GroupContentControl.";
    range1.Select();

    groupControl1 = vstoDoc.Controls.AddGroupContentControl("groupControl1");
}
Dim groupControl1 As Microsoft.Office.Tools.Word.GroupContentControl

Private Sub AddGroupControlAtSelection()
    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.Text = "You cannot edit or change the formatting of text " & _
            "in this paragraph, because this paragraph is in a GroupContentControl."
    vstoDoc.Paragraphs(1).Range.Select()
    groupControl1 = vstoDoc.Controls.AddGroupContentControl("groupControl1")
End Sub

Комментарии

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

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

AddGroupContentControl(ContentControl, String)

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

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

Параметры

contentControl
ContentControl

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

name
String

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

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

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

Исключения

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

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

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

Примеры

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

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

private System.Collections.Generic.List
    <Microsoft.Office.Tools.Word.GroupContentControl> groupControls;

private void CreateGroupControlsFromNativeControls()
{
    if (this.ContentControls.Count <= 0)
        return;

    groupControls = new System.Collections.Generic.List
        <Microsoft.Office.Tools.Word.GroupContentControl>();
    int count = 0;

    foreach (Word.ContentControl nativeControl in this.ContentControls)
    {
        if (nativeControl.Type == Word.WdContentControlType.wdContentControlGroup)
        {
            count++;
            Microsoft.Office.Tools.Word.GroupContentControl tempControl =
                this.Controls.AddGroupContentControl(nativeControl,
                "VSTOGroupControl" + count.ToString());
            groupControls.Add(tempControl);
        }
    }
}
Private groupControls As New System.Collections.Generic.List _
        (Of Microsoft.Office.Tools.Word.GroupContentControl)

Private Sub CreateGroupControlsFromNativeControls()
    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.wdContentControlGroup Then
            count += 1
            Dim tempControl As Microsoft.Office.Tools.Word.GroupContentControl = _
                Me.Controls.AddGroupContentControl(nativeControl, _
                "VSTOGroupContentControl" + count.ToString())
            groupControls.Add(tempControl)
        End If
    Next nativeControl
End Sub

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

private System.Collections.Generic.List
    <Microsoft.Office.Tools.Word.GroupContentControl> groupControls;

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

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

    groupControls = new System.Collections.Generic.List
        <Microsoft.Office.Tools.Word.GroupContentControl>();
    int count = 0;

    foreach (Word.ContentControl nativeControl in vstoDoc.ContentControls)
    {
        if (nativeControl.Type == Word.WdContentControlType.wdContentControlGroup)
        {
            count++;
            Microsoft.Office.Tools.Word.GroupContentControl tempControl =
                vstoDoc.Controls.AddGroupContentControl(nativeControl,
                "VSTOGroupControl" + count.ToString());
            groupControls.Add(tempControl);
        }
    }
}
Private groupControls As New System.Collections.Generic.List _
        (Of Microsoft.Office.Tools.Word.GroupContentControl)

Private Sub CreateGroupControlsFromNativeControls()
    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.wdContentControlGroup Then
            count += 1
            Dim tempControl As Microsoft.Office.Tools.Word.GroupContentControl = _
                vstoDoc.Controls.AddGroupContentControl(nativeControl, _
                "VSTOGroupContentControl" + count.ToString())
            groupControls.Add(tempControl)
        End If
    Next nativeControl
End Sub

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

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

void ThisDocument_GroupContentControlAfterAdd(Word.ContentControl NewContentControl, bool InUndoRedo)
{
    if (NewContentControl.Type == Word.WdContentControlType.wdContentControlGroup)
    {
        this.Controls.AddGroupContentControl(NewContentControl,
            "GroupControl" + NewContentControl.ID);
    }
}
Private Sub ThisDocument_GroupContentControlAfterAdd(ByVal NewContentControl As Word.ContentControl, _
    ByVal InUndoRedo As Boolean) Handles Me.ContentControlAfterAdd

    If NewContentControl.Type = Word.WdContentControlType.wdContentControlGroup Then
        Me.Controls.AddGroupContentControl(NewContentControl, _
            "GroupControl" + NewContentControl.ID)
    End If
End Sub

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

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

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

Комментарии

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

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

AddGroupContentControl(Range, String)

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

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

Параметры

range
Range

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

name
String

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

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

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

Исключения

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

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

Примеры

В следующем примере кода добавляется новый абзац в начало документа и создается GroupContentControl объект , содержащий этот абзац. Запрещает GroupContentControl пользователям изменять текст в абзаце. Дополнительные сведения об использовании GroupContentControl для защиты части документа см. в разделе Элементы управления содержимым.

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

private Microsoft.Office.Tools.Word.GroupContentControl groupControl2;

private void AddGroupControlAtRange()
{
    this.Paragraphs[1].Range.InsertParagraphBefore();
    Word.Range range1 = this.Paragraphs[1].Range;
    range1.Text = "You cannot edit or change the formatting of text " +
        "in this paragraph, because this paragraph is in a GroupContentControl.";
    range1.Select();

    groupControl2 = this.Controls.AddGroupContentControl(range1, "groupControl2");
}
Dim groupControl2 As Microsoft.Office.Tools.Word.GroupContentControl

Private Sub AddGroupControlAtRange()
    Me.Paragraphs(1).Range.InsertParagraphBefore()
    Dim range1 As Word.Range = Me.Paragraphs(1).Range
    range1.Text = "You cannot edit or change the formatting of text " & _
            "in this paragraph, because this paragraph is in a GroupContentControl."
    range1.Select()
    groupControl2 = Me.Controls.AddGroupContentControl(range1, "groupControl2")
End Sub

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

private Microsoft.Office.Tools.Word.GroupContentControl groupControl2;

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

    Document vstoDoc = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
    vstoDoc.Paragraphs[1].Range.InsertParagraphBefore();
    Word.Range range1 = vstoDoc.Paragraphs[1].Range;
    range1.Text = "You cannot edit or change the formatting of text " +
        "in this paragraph, because this paragraph is in a GroupContentControl.";
    range1.Select();

    groupControl2 = vstoDoc.Controls.AddGroupContentControl(range1, "groupControl2");
}
Dim groupControl2 As Microsoft.Office.Tools.Word.GroupContentControl

Private Sub AddGroupControlAtRange()
    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()
    Dim range1 As Word.Range = vstoDoc.Paragraphs(1).Range
    range1.Text = "You cannot edit or change the formatting of text " & _
            "in this paragraph, because this paragraph is in a GroupContentControl."
    range1.Select()
    groupControl2 = vstoDoc.Controls.AddGroupContentControl(range1, "groupControl2")
End Sub

Комментарии

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

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