Поделиться через


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, добавленный в документ.

Исключения

name имеет значение null или нулевую длину.

Элемент управления с таким именем уже содержится в ControlCollection.

Примеры

В следующем примере кода в начало документа добавляется новый PictureContentControl объект . В этом примере предполагается, что файл с именем picture.bmp существует в папке %UserProfile%\My Documents (для Windows XP и более ранних версий) или в папке %UserProfile%\Documents (для Windows Vista).

Эта версия используется для настройки на уровне документа. Чтобы использовать этот код, вставьте его в ThisDocument класс в проекте и вызовите AddPictureControlAtRange метод из ThisDocument_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 класс в проекте и вызовите AddPictureControlAtRange метод из ThisAddIn_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, добавленный в документ.

Исключения

name имеет значение null или нулевую длину.

Элемент управления с таким именем уже содержится в ControlCollection.

Примеры

В следующем примере кода в начало документа добавляется новый PictureContentControl объект . В этом примере предполагается, что файл с именем picture.bmp существует в папке %UserProfile%\My Documents (для Windows XP и более ранних версий) или в папке %UserProfile%\Documents (для Windows Vista).

Эта версия используется для настройки на уровне документа. Чтобы использовать этот код, вставьте его в ThisDocument класс в проекте и вызовите AddPictureControlAtSelection метод из ThisDocument_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 класс в проекте и вызовите AddPictureControlAtSelection метод из ThisAddIn_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, добавленный в документ.

Исключения

contentControl имеет nullзначение .-or- name is null или имеет нулевую длину.

Элемент управления с таким именем уже содержится в ControlCollection.

contentControlне является коллекцией стандартных contentControl блоков (то есть Type свойство не имеет значения Microsoft.Office.Interop.Word. WdContentControlType.wdContentControlPicture).

Примеры

В следующем примере кода создается новый PictureContentControl объект для каждого собственного элемента управления изображением, который находится в документе.

Эта версия используется для настройки на уровне документа. Чтобы использовать этот код, вставьте его в ThisDocument класс в проекте и вызовите CreatePictureControlFromNativeControl метод из ThisDocument_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 класс в проекте и вызовите CreatePictureControlFromNativeControl метод из ThisAddIn_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# необходимо также присоединить ThisDocument_PictureContentControlAfterAdd обработчик событий к событию ContentControlAfterAddThisDocument класса .

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 класс в проекте. Кроме того, необходимо присоединить ActiveDocument_PictureContentControlAfterAdd обработчик событий к событию ContentControlAfterAdd активного документа.

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.

Применяется к