Condividi tramite


ControlCollection.AddPictureContentControl Metodo

Definizione

Overload

AddPictureContentControl(Range, String)

Aggiunge un nuovo PictureContentControl all'intervallo specificato nel documento.

AddPictureContentControl(String)

Aggiunge un nuovo PictureContentControl in corrispondenza della selezione corrente nel documento.

AddPictureContentControl(ContentControl, String)

Aggiunge un nuovo PictureContentControl basato su un controllo contenuto nativo nel documento.

AddPictureContentControl(Range, String)

Aggiunge un nuovo PictureContentControl all'intervallo specificato nel 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

Parametri

range
Range

Oggetto Range che specifica i limiti per il nuovo controllo.

name
String

Nome del nuovo controllo.

Restituisce

Oggetto PictureContentControl aggiunto al documento.

Eccezioni

name è null o ha lunghezza zero.

È già presente un controllo con lo stesso nome in ControlCollection.

Esempio

Nell'esempio di codice seguente viene aggiunto un nuovo oggetto PictureContentControl all'inizio del documento. In questo esempio si presuppone che esista un file denominato picture.bmp nella cartella %UserProfile%\Documenti (per Windows XP e versioni precedenti) o nella cartella %UserProfile%\Documents (per Windows Vista).

Questa versione è per una personalizzazione a livello di documento. Per usare questo codice, incollarlo nella ThisDocument classe nel progetto e chiamare il AddPictureControlAtRange metodo dal ThisDocument_Startup metodo.

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

Questa versione è per un componente aggiuntivo a livello di applicazione destinato a .NET Framework 4 o .NET Framework 4.5. Per usare questo codice, incollarlo nella ThisAddIn classe nel progetto e chiamare il AddPictureControlAtRange metodo dal ThisAddIn_Startup metodo.

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

Commenti

Utilizzare questo metodo per aggiungere un nuovo PictureContentControl oggetto in un intervallo specificato nel documento in fase di esecuzione. Per altre informazioni, vedere Adding Controls to Office Documents at Run Time.

Si applica a

AddPictureContentControl(String)

Aggiunge un nuovo PictureContentControl in corrispondenza della selezione corrente nel 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

Parametri

name
String

Nome del nuovo controllo.

Restituisce

Oggetto PictureContentControl aggiunto al documento.

Eccezioni

name è null o ha lunghezza zero.

È già presente un controllo con lo stesso nome in ControlCollection.

Esempio

Nell'esempio di codice seguente viene aggiunto un nuovo oggetto PictureContentControl all'inizio del documento. In questo esempio si presuppone che esista un file denominato picture.bmp nella cartella %UserProfile%\Documenti (per Windows XP e versioni precedenti) o nella cartella %UserProfile%\Documents (per Windows Vista).

Questa versione è per una personalizzazione a livello di documento. Per usare questo codice, incollarlo nella ThisDocument classe nel progetto e chiamare il AddPictureControlAtSelection metodo dal ThisDocument_Startup metodo.

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

Questa versione è per un componente aggiuntivo a livello di applicazione destinato a .NET Framework 4 o .NET Framework 4.5. Per usare questo codice, incollarlo nella ThisAddIn classe nel progetto e chiamare il AddPictureControlAtSelection metodo dal ThisAddIn_Startup metodo.

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

Commenti

Utilizzare questo metodo per aggiungere un nuovo PictureContentControl oggetto alla selezione corrente nel documento in fase di esecuzione. Per altre informazioni, vedere Adding Controls to Office Documents at Run Time.

Si applica a

AddPictureContentControl(ContentControl, String)

Aggiunge un nuovo PictureContentControl basato su un controllo contenuto nativo nel 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

Parametri

contentControl
ContentControl

Oggetto ContentControl che rappresenta la base per il nuovo controllo.

name
String

Nome del nuovo controllo.

Restituisce

Oggetto PictureContentControl aggiunto al documento.

Eccezioni

contentControl è . null-oppure- name è null o ha una lunghezza zero.

È già presente un controllo con lo stesso nome in ControlCollection.

contentControlnon è una raccolta blocchi predefiniti, ovvero la Type proprietà di contentControl non ha il valore Microsoft.Office.Interop.Word. WdContentControlType.wdContentControlPicture).

Esempio

Nell'esempio di codice seguente viene creato un nuovo PictureContentControl oggetto per ogni controllo immagine nativo presente nel documento.

Questa versione è per una personalizzazione a livello di documento. Per usare questo codice, incollarlo nella ThisDocument classe nel progetto e chiamare il CreatePictureControlFromNativeControl metodo dal ThisDocument_Startup metodo.

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

Questa versione è per un componente aggiuntivo a livello di applicazione destinato a .NET Framework 4 o .NET Framework 4.5. Per usare questo codice, incollarlo nella ThisAddIn classe nel progetto e chiamare il CreatePictureControlFromNativeControl metodo dal ThisAddIn_Startup metodo.

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

Nell'esempio di codice seguente viene creato un nuovo PictureContentControl oggetto per ogni controllo immagine nativo aggiunto dall'utente al documento.

Questa versione è per una personalizzazione a livello di documento. Per usare questo codice, incollarlo nella ThisDocument classe nel progetto. Per C#, è anche necessario associare il ThisDocument_PictureContentControlAfterAdd gestore eventi all'evento ContentControlAfterAdd della 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

Questa versione è per un componente aggiuntivo a livello di applicazione destinato a .NET Framework 4 o .NET Framework 4.5. Per usare questo codice, incollarlo nella ThisAddIn classe nel progetto. Inoltre, è necessario associare il ActiveDocument_PictureContentControlAfterAdd gestore eventi all'evento ContentControlAfterAdd del documento attivo.

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

Commenti

Utilizzare questo metodo per aggiungere un nuovo PictureContentControl oggetto basato su un controllo contenuto nativo nel documento in fase di esecuzione. Ciò è utile quando si crea un oggetto PictureContentControl in fase di esecuzione e si vuole ricreare lo stesso controllo alla successiva apertura del documento. Per altre informazioni, vedere Adding Controls to Office Documents at Run Time.

Si applica a