Share via


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 クラスに貼り付け、 メソッドから メソッドをAddGroupControlAtSelectionThisDocument_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 クラスに貼り付け、 メソッドから メソッドをAddGroupControlAtSelectionThisAddIn_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

例外

contentControlnull.-or- name であるか、 null 長さが 0 です。

ControlCollection に既に同じ名前のコントロールがあります。

contentControlは文書パーツ ギャラリーではありません (つまり、 TypecontentControl プロパティに Microsoft.Office.Interop.Word の値がありません。WdContentControlType.wdContentControlGroup)。

次のコード例では、ドキュメント内のすべてのネイティブ グループ コントロールに対して新しい GroupContentControl を作成します。

このバージョンは、ドキュメント レベルのカスタマイズ用です。 このコードを使用するには、プロジェクトの ThisDocument クラスに貼り付け、 メソッドから メソッドをCreateGroupControlsFromNativeControlsThisDocument_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 クラスに貼り付け、 メソッドから メソッドをCreateGroupControlsFromNativeControlsThisAddIn_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イベント ThisDocument ハンドラーをContentControlAfterAddアタッチする必要もあります。

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 クラスに貼り付け、 メソッドから メソッドをAddGroupControlAtRangeThisDocument_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 クラスに貼り付け、 メソッドから メソッドをAddGroupControlAtRangeThisAddIn_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」を参照してください。

適用対象