Compartilhar via


ControlCollection.AddPictureContentControl Método

Definição

Sobrecargas

AddPictureContentControl(Range, String)

Adiciona um novo PictureContentControl no intervalo especificado no documento.

AddPictureContentControl(String)

Adiciona um novo PictureContentControl na seleção atual no documento.

AddPictureContentControl(ContentControl, String)

Adiciona um novo PictureContentControl que se baseia em um controle de conteúdo nativo no documento.

AddPictureContentControl(Range, String)

Adiciona um novo PictureContentControl no intervalo especificado no 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

Um Range que fornece os limites para o novo controle.

name
String

O nome do novo controle.

Retornos

O PictureContentControl adicionado ao documento.

Exceções

name é null ou tem tamanho zero.

Um controle com o mesmo nome já está no ControlCollection.

Exemplos

O exemplo de código a seguir adiciona um novo PictureContentControl ao início do documento. Este exemplo pressupõe que exista um arquivo chamado picture.bmp na pasta %UserProfile%\My Documents (para Windows XP e anterior) ou na pasta %UserProfile%\Documents (para Windows Vista).

Esta versão destina-se a uma personalização no nível de documento. Para usar esse código, cole-o na classe ThisDocument do projeto e chame o método AddPictureControlAtRange no método 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

Esta versão é para um suplemento no nível do aplicativo que tem como destino o .NET Framework 4 ou o .NET Framework 4.5. Para usar esse código, cole-o na classe ThisAddIn do projeto e chame o método AddPictureControlAtRange no método 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

Comentários

Use esse método para adicionar um novo PictureContentControl em um intervalo especificado no documento em tempo de execução. Para obter mais informações, consulte Adicionando controles a documentos do Office em tempo de execução.

Aplica-se a

AddPictureContentControl(String)

Adiciona um novo PictureContentControl na seleção atual no 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

O nome do novo controle.

Retornos

O PictureContentControl adicionado ao documento.

Exceções

name é null ou tem tamanho zero.

Um controle com o mesmo nome já está no ControlCollection.

Exemplos

O exemplo de código a seguir adiciona um novo PictureContentControl ao início do documento. Este exemplo pressupõe que exista um arquivo chamado picture.bmp na pasta %UserProfile%\My Documents (para Windows XP e anterior) ou na pasta %UserProfile%\Documents (para Windows Vista).

Esta versão destina-se a uma personalização no nível de documento. Para usar esse código, cole-o na classe ThisDocument do projeto e chame o método AddPictureControlAtSelection no método 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

Esta versão é para um suplemento no nível do aplicativo que tem como destino o .NET Framework 4 ou o .NET Framework 4.5. Para usar esse código, cole-o na classe ThisAddIn do projeto e chame o método AddPictureControlAtSelection no método 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

Comentários

Use esse método para adicionar um novo PictureContentControl na seleção atual no documento em tempo de execução. Para obter mais informações, consulte Adicionando controles a documentos do Office em tempo de execução.

Aplica-se a

AddPictureContentControl(ContentControl, String)

Adiciona um novo PictureContentControl que se baseia em um controle de conteúdo nativo no 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

O ContentControl que é a base do novo controle.

name
String

O nome do novo controle.

Retornos

O PictureContentControl adicionado ao documento.

Exceções

contentControl é null.-ou- name é null ou tem comprimento zero.

Um controle com o mesmo nome já está no ControlCollection.

contentControlnão é uma galeria de blocos de construção (ou seja, a Type propriedade de contentControl não tem o valor Microsoft.Office.Interop.Word. WdContentControlType.wdContentControlPicture).

Exemplos

O exemplo de código a seguir cria um novo PictureContentControl para cada controle de imagem nativo que está no documento.

Esta versão destina-se a uma personalização no nível de documento. Para usar esse código, cole-o na classe ThisDocument do projeto e chame o método CreatePictureControlFromNativeControl no método 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

Esta versão é para um suplemento no nível do aplicativo que tem como destino o .NET Framework 4 ou o .NET Framework 4.5. Para usar esse código, cole-o na classe ThisAddIn do projeto e chame o método CreatePictureControlFromNativeControl no método 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

O exemplo de código a seguir cria um novo PictureContentControl para cada controle de imagem nativo que o usuário adiciona ao documento.

Esta versão destina-se a uma personalização no nível de documento. Para usar esse código, cole-o na classe ThisDocument do projeto. Para C#, você também deve anexar o ThisDocument_PictureContentControlAfterAdd manipulador de eventos ao ContentControlAfterAdd evento da ThisDocument classe .

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 versão é para um suplemento no nível do aplicativo que tem como destino o .NET Framework 4 ou o .NET Framework 4.5. Para usar esse código, cole-o na classe ThisAddIn do projeto. Além disso, você deve anexar o ActiveDocument_PictureContentControlAfterAdd manipulador de eventos ao ContentControlAfterAdd evento do documento ativo.

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

Comentários

Use esse método para adicionar um novo PictureContentControl baseado em um controle de conteúdo nativo no documento em tempo de execução. Isso é útil quando você cria um PictureContentControl em tempo de execução e deseja recriar o mesmo controle na próxima vez que o documento for aberto. Para obter mais informações, consulte Adicionando controles a documentos do Office em tempo de execução.

Aplica-se a