다음을 통해 공유


ControlCollection.AddPictureContentControl 메서드

정의

오버로드

AddPictureContentControl(Range, String)

문서의 지정된 범위에 새 PictureContentControl을 추가합니다.

AddPictureContentControl(String)

문서의 현재 선택 영역에서 새 PictureContentControl을 추가합니다.

AddPictureContentControl(ContentControl, String)

문서의 네이티브 콘텐츠 컨트롤을 기반으로 하는 새 PictureContentControl을 추가합니다.

AddPictureContentControl(Range, String)

문서의 지정된 범위에 새 PictureContentControl을 추가합니다.

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

매개 변수

range
Range

새 컨트롤의 범위를 제공하는 Range입니다.

name
String

새 컨트롤의 이름입니다.

반환

문서에 추가된 PictureContentControl입니다.

예외

namenull이거나 길이가 0입니다.

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

예제

다음 코드 예제에서는 문서의 시작 부분에 새 PictureContentControl 를 추가합니다. 이 예제에서는 이름이 % picture.bmp UserProfile%\My Documents 폴더(Windows XP 이하의 경우) 또는 %UserProfile%\Documents 폴더(Windows Vista의 경우)에 있다고 가정합니다.

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

private Microsoft.Office.Tools.Word.PictureContentControl pictureControl2;
private System.Drawing.Bitmap bitmap2;

private void AddPictureControlAtRange()
{
    this.Paragraphs[1].Range.InsertParagraphBefore();
    pictureControl2 = this.Controls.AddPictureContentControl(
        this.Paragraphs[1].Range, "pictureControl2");

    string imagePath = System.Environment.GetFolderPath(
        Environment.SpecialFolder.MyDocuments) + "\\picture.bmp";
    bitmap2 = new System.Drawing.Bitmap(imagePath, true);
    pictureControl2.Image = bitmap2;
}
Dim pictureControl2 As Microsoft.Office.Tools.Word.PictureContentControl
Dim bitmap2 As System.Drawing.Bitmap

Private Sub AddPictureControlAtRange()
    Me.Paragraphs(1).Range.InsertParagraphBefore()
    pictureControl2 = Me.Controls.AddPictureContentControl(Me.Paragraphs(1).Range, "pictureControl2")
    Dim imagePath As String = My.Computer.FileSystem.SpecialDirectories.MyDocuments & _
            "\picture.bmp"
    bitmap2 = New System.Drawing.Bitmap(imagePath, True)
    pictureControl2.Image = bitmap2
End Sub

이 버전은 .NET Framework 4 또는 .NET Framework 4.5를 대상으로 하는 애플리케이션 수준 추가 기능용입니다. 이 코드를 사용하려면 프로젝트의 클래스에 ThisAddIn 붙여넣고 메서드에서 메서드를 AddPictureControlAtRangeThisAddIn_Startup 호출합니다.

private Microsoft.Office.Tools.Word.PictureContentControl pictureControl2;
private System.Drawing.Bitmap bitmap2;

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

    Document vstoDoc = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
    vstoDoc.Paragraphs[1].Range.InsertParagraphBefore();
    pictureControl2 = vstoDoc.Controls.AddPictureContentControl(
        vstoDoc.Paragraphs[1].Range, "pictureControl2");

    string imagePath = System.Environment.GetFolderPath(
        Environment.SpecialFolder.MyDocuments) + "\\picture.bmp";
    bitmap2 = new System.Drawing.Bitmap(imagePath, true);
    pictureControl2.Image = bitmap2;
}
Dim pictureControl2 As Microsoft.Office.Tools.Word.PictureContentControl
Dim bitmap2 As System.Drawing.Bitmap

Private Sub AddPictureControlAtRange()
    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()
    pictureControl2 = vstoDoc.Controls.AddPictureContentControl( _
        vstoDoc.Paragraphs(1).Range, "pictureControl2")
    Dim imagePath As String = My.Computer.FileSystem.SpecialDirectories.MyDocuments & _
            "\picture.bmp"
    bitmap2 = New System.Drawing.Bitmap(imagePath, True)
    pictureControl2.Image = bitmap2
End Sub

설명

이 메서드를 PictureContentControl 사용하여 런타임에 문서의 지정된 범위에 새 를 추가합니다. 자세한 내용은 Adding Controls to Office Documents at Run Time을 참조하세요.

적용 대상

AddPictureContentControl(String)

문서의 현재 선택 영역에서 새 PictureContentControl을 추가합니다.

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

매개 변수

name
String

새 컨트롤의 이름입니다.

반환

문서에 추가된 PictureContentControl입니다.

예외

namenull이거나 길이가 0입니다.

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

예제

다음 코드 예제에서는 문서의 시작 부분에 새 PictureContentControl 를 추가합니다. 이 예제에서는 이름이 % picture.bmp UserProfile%\My Documents 폴더(Windows XP 이하의 경우) 또는 %UserProfile%\Documents 폴더(Windows Vista의 경우)에 있다고 가정합니다.

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

private Microsoft.Office.Tools.Word.PictureContentControl pictureControl1;
private System.Drawing.Bitmap bitmap1;

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

    pictureControl1 = this.Controls.AddPictureContentControl("pictureControl1");

    string imagePath = System.Environment.GetFolderPath(
        Environment.SpecialFolder.MyDocuments) + "\\picture.bmp";
    bitmap1 = new System.Drawing.Bitmap(imagePath, true);
    pictureControl1.Image = bitmap1;
}
Dim pictureControl1 As Microsoft.Office.Tools.Word.PictureContentControl
Dim bitmap1 As System.Drawing.Bitmap

Private Sub AddPictureControlAtSelection()
    Me.Paragraphs(1).Range.InsertParagraphBefore()
    Me.Paragraphs(1).Range.Select()
    pictureControl1 = Me.Controls.AddPictureContentControl("pictureControl1")
    Dim imagePath As String = My.Computer.FileSystem.SpecialDirectories.MyDocuments & _
            "\picture.bmp"
    bitmap1 = New System.Drawing.Bitmap(imagePath, True)
    pictureControl1.Image = bitmap1
End Sub

이 버전은 .NET Framework 4 또는 .NET Framework 4.5를 대상으로 하는 애플리케이션 수준 추가 기능용입니다. 이 코드를 사용하려면 프로젝트의 클래스에 ThisAddIn 붙여넣고 메서드에서 메서드를 AddPictureControlAtSelectionThisAddIn_Startup 호출합니다.

private Microsoft.Office.Tools.Word.PictureContentControl pictureControl1;
private System.Drawing.Bitmap bitmap1;

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

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

    pictureControl1 = vstoDoc.Controls.AddPictureContentControl("pictureControl1");

    string imagePath = System.Environment.GetFolderPath(
        Environment.SpecialFolder.MyDocuments) + "\\picture.bmp";
    bitmap1 = new System.Drawing.Bitmap(imagePath, true);
    pictureControl1.Image = bitmap1;
}
Dim pictureControl1 As Microsoft.Office.Tools.Word.PictureContentControl
Dim bitmap1 As System.Drawing.Bitmap

Private Sub AddPictureControlAtSelection()
    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()
    pictureControl1 = vstoDoc.Controls.AddPictureContentControl("pictureControl1")
    Dim imagePath As String = My.Computer.FileSystem.SpecialDirectories.MyDocuments & _
            "\picture.bmp"
    bitmap1 = New System.Drawing.Bitmap(imagePath, True)
    pictureControl1.Image = bitmap1
End Sub

설명

이 메서드를 사용하여 런타임에 문서의 현재 선택 영역에 새 PictureContentControl 를 추가합니다. 자세한 내용은 Adding Controls to Office Documents at Run Time을 참조하세요.

적용 대상

AddPictureContentControl(ContentControl, String)

문서의 네이티브 콘텐츠 컨트롤을 기반으로 하는 새 PictureContentControl을 추가합니다.

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

매개 변수

contentControl
ContentControl

새 컨트롤에 대한 기준인 ContentControl입니다.

name
String

새 컨트롤의 이름입니다.

반환

문서에 추가된 PictureContentControl입니다.

예외

contentControlnull.-or- namenull 거나 길이가 0입니다.

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

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

예제

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

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

private System.Collections.Generic.List
   <Microsoft.Office.Tools.Word.PictureContentControl> pictureControls;

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

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

    foreach (Word.ContentControl nativeControl in this.ContentControls)
    {
        if (nativeControl.Type == Word.WdContentControlType.wdContentControlPicture)
        {
            count++;
            Microsoft.Office.Tools.Word.PictureContentControl tempControl =
                this.Controls.AddPictureContentControl(nativeControl,
                "VSTOPictureContentControl" + count.ToString());
            pictureControls.Add(tempControl);
        }
    }
}
Private pictureControls As New System.Collections.Generic.List _
        (Of Microsoft.Office.Tools.Word.PictureContentControl)

Private Sub CreatePictureControlsFromNativeControls()
    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.wdContentControlPicture Then
            count += 1
            Dim tempControl As Microsoft.Office.Tools.Word.PictureContentControl = _
                Me.Controls.AddPictureContentControl(nativeControl, _
                "VSTOPictureContentControl" + count.ToString())
            pictureControls.Add(tempControl)
        End If
    Next nativeControl
End Sub

이 버전은 .NET Framework 4 또는 .NET Framework 4.5를 대상으로 하는 애플리케이션 수준 추가 기능용입니다. 이 코드를 사용하려면 프로젝트의 클래스에 ThisAddIn 붙여넣고 메서드에서 메서드를 CreatePictureControlFromNativeControlThisAddIn_Startup 호출합니다.

private System.Collections.Generic.List
   <Microsoft.Office.Tools.Word.PictureContentControl> pictureControls;

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

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

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

    foreach (Word.ContentControl nativeControl in vstoDoc.ContentControls)
    {
        if (nativeControl.Type == Word.WdContentControlType.wdContentControlPicture)
        {
            count++;
            Microsoft.Office.Tools.Word.PictureContentControl tempControl =
                vstoDoc.Controls.AddPictureContentControl(nativeControl,
                "VSTOPictureContentControl" + count.ToString());
            pictureControls.Add(tempControl);
        }
    }
}
Private pictureControls As New System.Collections.Generic.List _
        (Of Microsoft.Office.Tools.Word.PictureContentControl)

Private Sub CreatePictureControlsFromNativeControls()
    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.wdContentControlPicture Then
            count += 1
            Dim tempControl As Microsoft.Office.Tools.Word.PictureContentControl = _
                vstoDoc.Controls.AddPictureContentControl(nativeControl, _
                "VSTOPictureContentControl" + count.ToString())
            pictureControls.Add(tempControl)
        End If
    Next nativeControl
End Sub

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

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

void ThisDocument_PictureContentControlAfterAdd(Word.ContentControl NewContentControl, bool InUndoRedo)
{
    if (NewContentControl.Type == Word.WdContentControlType.wdContentControlPicture)
    {
        this.Controls.AddPictureContentControl(NewContentControl,
            "PictureControl" + NewContentControl.ID);
    }
}
Private Sub ThisDocument_PictureContentControlAfterAdd(ByVal NewContentControl As Word.ContentControl, _
    ByVal InUndoRedo As Boolean) Handles Me.ContentControlAfterAdd

    If NewContentControl.Type = Word.WdContentControlType.wdContentControlPicture Then
        Me.Controls.AddPictureContentControl(NewContentControl, _
            "PictureControl" + NewContentControl.ID)
    End If
End Sub

이 버전은 .NET Framework 4 또는 .NET Framework 4.5를 대상으로 하는 애플리케이션 수준 추가 기능용입니다. 이 코드를 사용하려면 프로젝트의 클래스에 ThisAddIn 붙여넣습니다. 또한 활성 문서의 이벤트에 이벤트 처리기를 ContentControlAfterAdd 연결 ActiveDocument_PictureContentControlAfterAdd 해야 합니다.

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

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

설명

이 메서드를 사용하여 런타임에 문서의 네이티브 콘텐츠 컨트롤을 기반으로 하는 새 PictureContentControl 를 추가합니다. 이 기능은 런타임에 를 PictureContentControl 만들고 다음에 문서를 열 때 동일한 컨트롤을 다시 만들려고 할 때 유용합니다. 자세한 내용은 Adding Controls to Office Documents at Run Time을 참조하세요.

적용 대상