ControlCollection.AddPlainTextContentControl 方法

定義

多載

AddPlainTextContentControl(String)

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

AddPlainTextContentControl(ContentControl, String)

新增以文件中的原生內容控制項為基礎的新 PlainTextContentControl

AddPlainTextContentControl(Range, String)

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

AddPlainTextContentControl(String)

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

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

參數

name
String

新控制項的名稱。

傳回

已新增至文件的 PlainTextContentControl

例外狀況

namenull 或長度為 0。

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

範例

下列程式代碼範例會將新的 PlainTextContentControl 新增至檔的開頭。

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

private Microsoft.Office.Tools.Word.PlainTextContentControl textControl1;

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

    textControl1 = this.Controls.AddPlainTextContentControl("textControl1");
    textControl1.PlaceholderText = "Enter your first name";
}
Dim plainTextControl1 As Microsoft.Office.Tools.Word.PlainTextContentControl

Private Sub AddPlainTextControlAtSelection()
    Me.Paragraphs(1).Range.InsertParagraphBefore()
    Me.Paragraphs(1).Range.Select()
    plainTextControl1 = Me.Controls.AddPlainTextContentControl("plainTextControl1")
    plainTextControl1.PlaceholderText = "Enter your first name"
End Sub

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

private Microsoft.Office.Tools.Word.PlainTextContentControl textControl1;

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

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

    textControl1 = vstoDoc.Controls.AddPlainTextContentControl("textControl1");
    textControl1.PlaceholderText = "Enter your first name";
}
Dim plainTextControl1 As Microsoft.Office.Tools.Word.PlainTextContentControl

Private Sub AddPlainTextControlAtSelection()
    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()
    plainTextControl1 = vstoDoc.Controls.AddPlainTextContentControl("plainTextControl1")
    plainTextControl1.PlaceholderText = "Enter your first name"
End Sub

備註

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

適用於

AddPlainTextContentControl(ContentControl, String)

新增以文件中的原生內容控制項為基礎的新 PlainTextContentControl

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

參數

contentControl
ContentControl

ContentControl,是新控制項的基礎。

name
String

新控制項的名稱。

傳回

已新增至文件的 PlainTextContentControl

例外狀況

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

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

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

範例

下列程式代碼範例會為每個檔案中的原生純文字控制項建立新的 PlainTextContentControl

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

private System.Collections.Generic.List<Microsoft.Office.Tools.Word.PlainTextContentControl> plainTextControls;

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

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

    foreach (Word.ContentControl nativeControl in this.ContentControls)
    {
        if (nativeControl.Type == Word.WdContentControlType.wdContentControlText)
        {
            count++;
            Microsoft.Office.Tools.Word.PlainTextContentControl tempControl =
                this.Controls.AddPlainTextContentControl(nativeControl,
                "VSTOPlainTextContentControl" + count.ToString());
            plainTextControls.Add(tempControl);
        }
    }
}
Private plainTextControls As New System.Collections.Generic.List _
    (Of Microsoft.Office.Tools.Word.PlainTextContentControl)

Private Sub CreatePlainTextControlsFromNativeControls()
    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.wdContentControlText Then
            count += 1
            Dim tempControl As Microsoft.Office.Tools.Word.PlainTextContentControl = _
                Me.Controls.AddPlainTextContentControl(nativeControl, _
                "VSTOPlainTextContentControl" + count.ToString())
            plainTextControls.Add(tempControl)
        End If
    Next nativeControl
End Sub

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

private System.Collections.Generic.List<Microsoft.Office.Tools.Word.PlainTextContentControl> plainTextControls;

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

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

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

    foreach (Word.ContentControl nativeControl in vstoDoc.ContentControls)
    {
        if (nativeControl.Type == Word.WdContentControlType.wdContentControlText)
        {
            count++;
            Microsoft.Office.Tools.Word.PlainTextContentControl tempControl =
                vstoDoc.Controls.AddPlainTextContentControl(nativeControl,
                "VSTOPlainTextContentControl" + count.ToString());
            plainTextControls.Add(tempControl);
        }
    }
}
Private plainTextControls As New System.Collections.Generic.List _
    (Of Microsoft.Office.Tools.Word.PlainTextContentControl)

Private Sub CreatePlainTextControlsFromNativeControls()
    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.wdContentControlText Then
            count += 1
            Dim tempControl As Microsoft.Office.Tools.Word.PlainTextContentControl = _
                vstoDoc.Controls.AddPlainTextContentControl(nativeControl, _
                "VSTOPlainTextContentControl" + count.ToString())
            plainTextControls.Add(tempControl)
        End If
    Next nativeControl
End Sub

下列程式代碼範例會針對使用者新增至檔案的每個原生純文字控制項建立新的 PlainTextContentControl

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

void ThisDocument_PlainTextContentControlAfterAdd(Word.ContentControl NewContentControl, bool InUndoRedo)
{
    if (NewContentControl.Type == Word.WdContentControlType.wdContentControlText)
    {
        this.Controls.AddPlainTextContentControl(NewContentControl,
            "PlainTextControl" + NewContentControl.ID);
    }
}
Private Sub ThisDocument_PlainTextContentControlAfterAdd(ByVal NewContentControl As Word.ContentControl, _
    ByVal InUndoRedo As Boolean) Handles Me.ContentControlAfterAdd

    If NewContentControl.Type = Word.WdContentControlType.wdContentControlText Then
        Me.Controls.AddPlainTextContentControl(NewContentControl, _
            "PlainTextControl" + NewContentControl.ID)
    End If
End Sub

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

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

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

備註

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

適用於

AddPlainTextContentControl(Range, String)

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

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

參數

range
Range

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

name
String

新控制項的名稱。

傳回

已新增至文件的 PlainTextContentControl

例外狀況

namenull 或長度為 0。

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

範例

下列程式代碼範例會將新的 PlainTextContentControl 新增至檔的開頭。

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

private Microsoft.Office.Tools.Word.PlainTextContentControl textControl2;

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

    textControl2 = this.Controls.AddPlainTextContentControl(this.Paragraphs[1].Range,
        "textControl2");
    textControl2.PlaceholderText = "Enter your first name";
}
Dim plainTextControl2 As Microsoft.Office.Tools.Word.PlainTextContentControl

Private Sub AddPlainTextControlAtRange()
    Me.Paragraphs(1).Range.InsertParagraphBefore()
    plainTextControl2 = Me.Controls.AddPlainTextContentControl(Me.Paragraphs(1).Range, "plainTextControl2")
    plainTextControl2.PlaceholderText = "Enter your first name"
End Sub

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

private Microsoft.Office.Tools.Word.PlainTextContentControl textControl2;

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

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

    textControl2 = vstoDoc.Controls.AddPlainTextContentControl(
        vstoDoc.Paragraphs[1].Range,
        "textControl2");
    textControl2.PlaceholderText = "Enter your first name";
}
Dim plainTextControl2 As Microsoft.Office.Tools.Word.PlainTextContentControl

Private Sub AddPlainTextControlAtRange()
    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()
    plainTextControl2 = vstoDoc.Controls.AddPlainTextContentControl( _
        vstoDoc.Paragraphs(1).Range, "plainTextControl2")
    plainTextControl2.PlaceholderText = "Enter your first name"
End Sub

備註

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

適用於