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

例外狀況

namenull 或長度為 0。

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

範例

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

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

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 類別,然後從 ThisAddIn_Startup 方法呼叫 AddRichTextControlAtSelection 方法。

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

例外狀況

contentControlnull.-或- namenull 或 長度為零。

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

contentControl不是 (即 Microsoft.Office.Interop 的建置組塊庫。Word。的 ContentControl.Type 屬性contentControl沒有值 Microsoft.Office.Interop.Word。WdContentControlType.wdContentControlRichText) 。

範例

下列程式代碼範例會針對檔案中的每個原生 RTF 控制項建立新的 RichTextContentControl

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

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 類別,然後從 ThisAddIn_Startup 方法呼叫 CreateRichTextControlsFromNativeControls 方法。

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

下列程式代碼範例會為使用者新增至檔案的每個原生 RTF 控制項建立新的 RichTextContentControl

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

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

例外狀況

namenull 或長度為 0。

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

範例

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

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

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 類別,然後從 ThisAddIn_Startup 方法呼叫 AddRichTextControlAtRange 方法。

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

適用於