Compartir a través de


ControlCollection.AddPictureContentControl Método

Definición

Sobrecargas

AddPictureContentControl(Range, String)

Agrega un nuevo objeto PictureContentControl en el intervalo especificado en el documento.

AddPictureContentControl(String)

Agrega un nuevo objeto PictureContentControl en la selección actual del documento.

AddPictureContentControl(ContentControl, String)

Agrega un nuevo objeto PictureContentControl basado en un control de contenido nativo del documento.

AddPictureContentControl(Range, String)

Agrega un nuevo objeto PictureContentControl en el intervalo especificado en el documento.

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

Parámetros

range
Range

Un objeto Range que proporciona los límites del nuevo control.

name
String

El nombre del nuevo control.

Devoluciones

El objeto PictureContentControl que se agregó al documento.

Excepciones

name es null o tiene una longitud cero.

Un control con el mismo nombre ya se encuentra en el objeto ControlCollection.

Ejemplos

En el ejemplo de código siguiente se agrega un nuevo PictureContentControl al principio del documento. En este ejemplo se supone que existe un archivo denominado picture.bmp en la carpeta %UserProfile%\My Documents (para Windows XP y versiones anteriores) o en la carpeta %UserProfile%\Documents (para Windows Vista).

Esta versión es para una personalización de nivel de documento. Para usar este código, péguelo en la ThisDocument clase del proyecto y llame al AddPictureControlAtRange método desde el ThisDocument_Startup método .

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

Esta versión es para un complemento de nivel de aplicación que tiene como destino .NET Framework 4 o .NET Framework 4.5. Para usar este código, péguelo en la ThisAddIn clase del proyecto y llame al AddPictureControlAtRange método desde el ThisAddIn_Startup método .

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

Comentarios

Use este método para agregar un nuevo PictureContentControl en un intervalo especificado en el documento en tiempo de ejecución. Para obtener más información, consulta Adding Controls to Office Documents at Run Time.

Se aplica a

AddPictureContentControl(String)

Agrega un nuevo objeto PictureContentControl en la selección actual del documento.

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

Parámetros

name
String

El nombre del nuevo control.

Devoluciones

El objeto PictureContentControl que se agregó al documento.

Excepciones

name es null o tiene una longitud cero.

Un control con el mismo nombre ya se encuentra en el objeto ControlCollection.

Ejemplos

En el ejemplo de código siguiente se agrega un nuevo PictureContentControl al principio del documento. En este ejemplo se supone que existe un archivo denominado picture.bmp en la carpeta %UserProfile%\My Documents (para Windows XP y versiones anteriores) o en la carpeta %UserProfile%\Documents (para Windows Vista).

Esta versión es para una personalización de nivel de documento. Para usar este código, péguelo en la ThisDocument clase del proyecto y llame al AddPictureControlAtSelection método desde el ThisDocument_Startup método .

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

Esta versión es para un complemento de nivel de aplicación que tiene como destino .NET Framework 4 o .NET Framework 4.5. Para usar este código, péguelo en la ThisAddIn clase del proyecto y llame al AddPictureControlAtSelection método desde el ThisAddIn_Startup método .

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

Comentarios

Use este método para agregar un nuevo PictureContentControl en la selección actual del documento en tiempo de ejecución. Para obtener más información, consulta Adding Controls to Office Documents at Run Time.

Se aplica a

AddPictureContentControl(ContentControl, String)

Agrega un nuevo objeto PictureContentControl basado en un control de contenido nativo del documento.

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

Parámetros

contentControl
ContentControl

El objeto ContentControl que es la base del nuevo control.

name
String

El nombre del nuevo control.

Devoluciones

El objeto PictureContentControl que se agregó al documento.

Excepciones

contentControl es null.-o- name es null o tiene una longitud cero.

Un control con el mismo nombre ya se encuentra en el objeto ControlCollection.

contentControlno es una galería de bloques de creación (es decir, la Type propiedad de contentControl no tiene el valor Microsoft.Office.Interop.Word. WdContentControlType.wdContentControlPicture).

Ejemplos

En el ejemplo de código siguiente se crea un nuevo PictureContentControl para cada control de imagen nativo que se encuentra en el documento.

Esta versión es para una personalización de nivel de documento. Para usar este código, péguelo en la ThisDocument clase del proyecto y llame al CreatePictureControlFromNativeControl método desde el ThisDocument_Startup método .

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

Esta versión es para un complemento de nivel de aplicación que tiene como destino .NET Framework 4 o .NET Framework 4.5. Para usar este código, péguelo en la ThisAddIn clase del proyecto y llame al CreatePictureControlFromNativeControl método desde el ThisAddIn_Startup método .

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

En el ejemplo de código siguiente se crea un nuevo PictureContentControl para cada control de imagen nativo que el usuario agrega al documento.

Esta versión es para una personalización de nivel de documento. Para usar este código, péguelo en la ThisDocument clase del proyecto. Para C#, también debe adjuntar el ThisDocument_PictureContentControlAfterAdd controlador de eventos al ContentControlAfterAdd evento de la ThisDocument clase .

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

Esta versión es para un complemento de nivel de aplicación que tiene como destino .NET Framework 4 o .NET Framework 4.5. Para usar este código, péguelo en la ThisAddIn clase del proyecto. Además, debe adjuntar el ActiveDocument_PictureContentControlAfterAdd controlador de eventos al ContentControlAfterAdd evento del documento activo.

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

Comentarios

Utilice este método para agregar un nuevo PictureContentControl elemento basado en un control de contenido nativo en el documento en tiempo de ejecución. Esto resulta útil al crear un objeto PictureContentControl en tiempo de ejecución y desea volver a crear el mismo control la próxima vez que se abra el documento. Para obtener más información, consulta Adding Controls to Office Documents at Run Time.

Se aplica a