다음을 통해 공유


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 붙여넣고 메서드에서 메서드를 AddRichTextControlAtSelectionThisDocument_Startup 호출합니다.

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 붙여넣고 메서드에서 메서드를 AddRichTextControlAtSelectionThisAddIn_Startup 호출합니다.

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.-or- namenull 거나 길이가 0입니다.

ControlCollection에 동일한 이름의 컨트롤이 이미 있습니다.

contentControl은 문서 블록 갤러리가 아닙니다(즉, Microsoft.Office.Interop.Word. 의 contentControl ContentControl.Type 속성에 Microsoft.Office.Interop.Word 값이 없습니다. WdContentControlType.wdContentControlRichText).

예제

다음 코드 예제에서는 문서에 있는 모든 네이티브 서식 있는 텍스트 컨트롤에 대해 새 RichTextContentControl 를 만듭니다.

이 버전은 문서 수준 사용자 지정을 위한 것입니다. 이 코드를 사용하려면 프로젝트의 클래스에 ThisDocument 붙여넣고 메서드에서 메서드를 CreateRichTextControlsFromNativeControlsThisDocument_Startup 호출합니다.

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 붙여넣고 메서드에서 메서드를 CreateRichTextControlsFromNativeControlsThisAddIn_Startup 호출합니다.

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

다음 코드 예제에서는 사용자가 문서에 추가하는 모든 네이티브 서식 있는 텍스트 컨트롤에 대해 새 RichTextContentControl 를 만듭니다.

이 버전은 문서 수준 사용자 지정을 위한 것입니다. 이 코드를 사용하려면 프로젝트의 클래스에 ThisDocument 붙여넣습니다. C#의 경우 이벤트 처리기를 ContentControlAfterAdd 클래스의 ThisDocument 이벤트에 연결 ThisDocument_RichTextContentControlAfterAdd 해야 합니다.

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 붙여넣습니다. 또한 활성 문서의 이벤트에 이벤트 처리기를 ContentControlAfterAdd 연결 ActiveDocument_RichTextContentControlAfterAdd 해야 합니다.

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 붙여넣고 메서드에서 메서드를 AddRichTextControlAtRangeThisDocument_Startup 호출합니다.

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 붙여넣고 메서드에서 메서드를 AddRichTextControlAtRangeThisAddIn_Startup 호출합니다.

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을 참조하세요.

적용 대상