ControlCollection.AddComboBoxContentControl 方法

定義

多載

AddComboBoxContentControl(String)

在文件的目前選取範圍新增 ComboBoxContentControl

AddComboBoxContentControl(ContentControl, String)

將新的 ComboBoxContentControl 加入集合中。 新控制項是以已在文件中的原生內容控制項為基礎。

AddComboBoxContentControl(Range, String)

將新的 ComboBoxContentControl 新增在文件的指定範圍。

AddComboBoxContentControl(String)

在文件的目前選取範圍新增 ComboBoxContentControl

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

參數

name
String

新控制項的名稱。

傳回

已新增至文件的 ComboBoxContentControl

例外狀況

namenull 或長度為 0。

ControlCollection 中已具有相同名稱的控制項。

範例

下列程式代碼範例會將新的 ComboBoxContentControl 新增至檔的開頭。 此範例也會將數種色彩的名稱新增至用戶可以在控件中選取的項目清單中。

此版本適用於檔層級自定義。 若要使用此程式碼,請將它貼到專案中的 ThisDocument 類別,然後從 ThisDocument_Startup 方法呼叫 AddComboBoxControlAtSelection 方法。

private Microsoft.Office.Tools.Word.ComboBoxContentControl comboBoxControl1;

private void AddComboBoxControlAtSelection()
{
    this.Paragraphs[1].Range.InsertParagraphBefore();
    this.Paragraphs[1].Range.Select();

    comboBoxControl1 = this.Controls.AddComboBoxContentControl("comboBoxControl1");
    comboBoxControl1.DropDownListEntries.Add("Red", "Red", 0);
    comboBoxControl1.DropDownListEntries.Add("Green", "Green", 1);
    comboBoxControl1.DropDownListEntries.Add("Blue", "Blue", 2);
    comboBoxControl1.PlaceholderText = "Choose a color, or enter your own";
}
Dim comboBoxControl1 As Microsoft.Office.Tools.Word.ComboBoxContentControl

Private Sub AddComboBoxControlAtSelection()
    Me.Paragraphs(1).Range.InsertParagraphBefore()
    Me.Paragraphs(1).Range.Select()
    comboBoxControl1 = Me.Controls.AddComboBoxContentControl("comboBoxControl1")
    With comboBoxControl1
        .DropDownListEntries.Add("Red", "Red", 0)
        .DropDownListEntries.Add("Green", "Green", 1)
        .DropDownListEntries.Add("Blue", "Blue", 2)
        .PlaceholderText = "Choose a color, or enter your own"
    End With
End Sub

此版本適用於以 .NET Framework 4 或 .NET Framework 4.5 為目標的應用程式層級載入宏。 若要使用此程式碼,請將它貼到專案中的 ThisAddIn 類別,然後從 ThisAddIn_Startup 方法呼叫 AddComboBoxControlAtSelection 方法。

private Microsoft.Office.Tools.Word.ComboBoxContentControl comboBoxControl1;

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

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

    comboBoxControl1 = vstoDoc.Controls.AddComboBoxContentControl(
        "comboBoxControl1");
    comboBoxControl1.DropDownListEntries.Add("Red", "Red", 0);
    comboBoxControl1.DropDownListEntries.Add("Green", "Green", 1);
    comboBoxControl1.DropDownListEntries.Add("Blue", "Blue", 2);
    comboBoxControl1.PlaceholderText = "Choose a color, or enter your own";            
}
Dim comboBoxControl1 As Microsoft.Office.Tools.Word.ComboBoxContentControl

Private Sub AddComboBoxControlAtSelection()
    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()
    comboBoxControl1 = vstoDoc.Controls.AddComboBoxContentControl("comboBoxControl1")
    With comboBoxControl1
        .DropDownListEntries.Add("Red", "Red", 0)
        .DropDownListEntries.Add("Green", "Green", 1)
        .DropDownListEntries.Add("Blue", "Blue", 2)
        .PlaceholderText = "Choose a color, or enter your own"
    End With
End Sub

備註

使用這個方法,在執行時間在檔案中的目前選取範圍加入新的 ComboBoxContentControl 。 如需詳細資訊,請參閱 Adding Controls to Office Documents at Run Time

適用於

AddComboBoxContentControl(ContentControl, String)

將新的 ComboBoxContentControl 加入集合中。 新控制項是以已在文件中的原生內容控制項為基礎。

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

參數

contentControl
ContentControl

ContentControl,是新控制項的基礎。

name
String

新控制項的名稱。

傳回

已新增至文件的 ComboBoxContentControl

例外狀況

contentControlnull.-或- namenull 或 具有零長度。

ControlCollection 中已具有相同名稱的控制項。

contentControl不是建置組塊庫 (,也就是說, TypecontentControl 屬性沒有 Microsoft.Office.Interop.Word 值。WdContentControlType.wdContentControlComboBox) 。

範例

下列程式代碼範例會為每個已在檔案中的原生下拉式方塊建立新的 ComboBoxContentControl

此版本適用於檔層級自定義。 若要使用此程式碼,請將它貼到專案中的 ThisDocument 類別,然後從 ThisDocument_Startup 方法呼叫 CreateComboBoxControlsFromNativeControls 方法。

private System.Collections.Generic.List
    <Microsoft.Office.Tools.Word.ComboBoxContentControl> comboBoxControls;

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

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

    foreach (Word.ContentControl nativeControl in this.ContentControls)
    {
        if (nativeControl.Type == Word.WdContentControlType.wdContentControlComboBox)
        {
            count++;
            Microsoft.Office.Tools.Word.ComboBoxContentControl tempControl =
                this.Controls.AddComboBoxContentControl(nativeControl,
                "VSTOComboBoxContentControl" + count.ToString());
            comboBoxControls.Add(tempControl);
        }
    }
}
Private comboBoxControls As New System.Collections.Generic.List _
        (Of Microsoft.Office.Tools.Word.ComboBoxContentControl)

Private Sub CreateComboBoxControlsFromNativeControls()
    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.wdContentControlComboBox Then
            count += 1
            Dim tempControl As Microsoft.Office.Tools.Word.ComboBoxContentControl = _
                Me.Controls.AddComboBoxContentControl(nativeControl, _
                "VSTOComboBoxContentControl" + count.ToString())
            comboBoxControls.Add(tempControl)
        End If
    Next nativeControl
End Sub

此版本適用於以 .NET Framework 4 或 .NET Framework 4.5 為目標的應用程式層級載入宏。 若要使用此程式碼,請將它貼到專案中的 ThisAddIn 類別,然後從 ThisAddIn_Startup 方法呼叫 CreateComboBoxControlsFromNativeControls 方法。

private System.Collections.Generic.List
    <Microsoft.Office.Tools.Word.ComboBoxContentControl> comboBoxControls;

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

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

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

    foreach (Word.ContentControl nativeControl in vstoDoc.ContentControls)
    {
        if (nativeControl.Type == Word.WdContentControlType.wdContentControlComboBox)
        {
            count++;
            Microsoft.Office.Tools.Word.ComboBoxContentControl tempControl =
                vstoDoc.Controls.AddComboBoxContentControl(nativeControl,
                "VSTOComboBoxContentControl" + count.ToString());
            comboBoxControls.Add(tempControl);
        }
    }
}
Private comboBoxControls As New System.Collections.Generic.List _
        (Of Microsoft.Office.Tools.Word.ComboBoxContentControl)

Private Sub CreateComboBoxControlsFromNativeControls()
    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.wdContentControlComboBox Then
            count += 1
            Dim tempControl As Microsoft.Office.Tools.Word.ComboBoxContentControl = _
                vstoDoc.Controls.AddComboBoxContentControl(nativeControl, _
                "VSTOComboBoxContentControl" + count.ToString())
            comboBoxControls.Add(tempControl)
        End If
    Next nativeControl
End Sub

下列程式代碼範例會針對使用者新增至檔案的每個原生下拉式方塊建立新的 ComboBoxContentControl

此版本適用於檔層級自定義。 若要使用此程式碼,請將它貼到專案中的 ThisDocument 類別。 針對 C#,您也必須將 ThisDocument_ComboBoxContentControlAfterAdd 事件處理程式附加至 ContentControlAfterAdd 類別的 ThisDocument 事件。

void ThisDocument_ComboBoxContentControlAfterAdd(Word.ContentControl NewContentControl, bool InUndoRedo)
{
    if (NewContentControl.Type == Word.WdContentControlType.wdContentControlComboBox)
    {
        this.Controls.AddComboBoxContentControl(NewContentControl,
            "ComboBoxControl" + NewContentControl.ID);
    }
}
Private Sub ThisDocument_ComboBoxContentControlAfterAdd(ByVal NewContentControl As Word.ContentControl, _
    ByVal InUndoRedo As Boolean) Handles Me.ContentControlAfterAdd

    If NewContentControl.Type = Word.WdContentControlType.wdContentControlComboBox Then
        Me.Controls.AddComboBoxContentControl(NewContentControl, _
            "ComboBoxControl" + NewContentControl.ID)
    End If
End Sub

此版本適用於以 .NET Framework 4 或 .NET Framework 4.5 為目標的應用程式層級載入宏。 若要使用此程式碼,請將它貼到專案中的 ThisAddIn 類別。 此外,您必須將 ActiveDocument_ComboBoxContentControlAfterAdd 事件處理程式附加至 ContentControlAfterAdd 使用中檔的 事件。

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

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

備註

使用這個方法,在執行時間新增以檔案中原生內容控制項為基礎的新 ComboBoxContentControl 。 當您在運行時間建立 ComboBoxContentControl 時,這非常有用,而且您想要在下一次開啟檔時重新建立相同的控件。 如需詳細資訊,請參閱 Adding Controls to Office Documents at Run Time

適用於

AddComboBoxContentControl(Range, String)

將新的 ComboBoxContentControl 新增在文件的指定範圍。

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

參數

range
Range

Range,提供新控制項的界限。

name
String

新控制項的名稱。

傳回

已新增至文件的 ComboBoxContentControl

例外狀況

namenull 或長度為 0。

ControlCollection 中已具有相同名稱的控制項。

範例

下列程式代碼範例會將新的 ComboBoxContentControl 新增至檔的開頭。 此範例也會將數種色彩的名稱新增至用戶可以在控件中選取的項目清單中。

此版本適用於檔層級自定義。 若要使用此程式碼,請將它貼到專案中的 ThisDocument 類別,然後從 ThisDocument_Startup 方法呼叫 AddComboBoxControlAtRange 方法。

private Microsoft.Office.Tools.Word.ComboBoxContentControl comboBoxControl2;

private void AddComboBoxControlAtRange()
{
    this.Paragraphs[1].Range.InsertParagraphBefore();

    comboBoxControl2 = this.Controls.AddComboBoxContentControl(this.Paragraphs[1].Range,
        "comboBoxControl2");
    comboBoxControl2.DropDownListEntries.Add("Red", "Red", 0);
    comboBoxControl2.DropDownListEntries.Add("Green", "Green", 1);
    comboBoxControl2.DropDownListEntries.Add("Blue", "Blue", 2);
    comboBoxControl2.PlaceholderText = "Choose a color, or enter your own";
}
Dim comboBoxControl2 As Microsoft.Office.Tools.Word.ComboBoxContentControl

Private Sub AddComboBoxControlAtRange()
    Me.Paragraphs(1).Range.InsertParagraphBefore()
    comboBoxControl2 = Me.Controls.AddComboBoxContentControl(Me.Paragraphs(1).Range, "comboBoxControl2")
    With comboBoxControl2
        .DropDownListEntries.Add("Red", "Red", 0)
        .DropDownListEntries.Add("Green", "Green", 1)
        .DropDownListEntries.Add("Blue", "Blue", 2)
        .PlaceholderText = "Choose a color, or enter your own"
    End With
End Sub

此版本適用於以 .NET Framework 4 或 .NET Framework 4.5 為目標的應用程式層級載入宏。 若要使用此程式碼,請將它貼到專案中的 ThisAddIn 類別,然後從 ThisAddIn_Startup 方法呼叫 AddComboBoxControlAtRange 方法。

private Microsoft.Office.Tools.Word.ComboBoxContentControl comboBoxControl2;

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

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

    comboBoxControl2 = vstoDoc.Controls.AddComboBoxContentControl(
        vstoDoc.Paragraphs[1].Range,
        "comboBoxControl2");
    comboBoxControl2.DropDownListEntries.Add("Red", "Red", 0);
    comboBoxControl2.DropDownListEntries.Add("Green", "Green", 1);
    comboBoxControl2.DropDownListEntries.Add("Blue", "Blue", 2);
    comboBoxControl2.PlaceholderText = "Choose a color, or enter your own";            
}
Dim comboBoxControl2 As Microsoft.Office.Tools.Word.ComboBoxContentControl

Private Sub AddComboBoxControlAtRange()
    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()
    comboBoxControl2 = vstoDoc.Controls.AddComboBoxContentControl( _
        vstoDoc.Paragraphs(1).Range, "comboBoxControl2")
    With comboBoxControl2
        .DropDownListEntries.Add("Red", "Red", 0)
        .DropDownListEntries.Add("Green", "Green", 1)
        .DropDownListEntries.Add("Blue", "Blue", 2)
        .PlaceholderText = "Choose a color, or enter your own"
    End With
End Sub

備註

使用這個方法,在執行時間在檔案中的指定範圍新增新的 ComboBoxContentControl 。 如需詳細資訊,請參閱 Adding Controls to Office Documents at Run Time

適用於