Sdílet prostřednictvím


ControlCollection.AddPictureContentControl-Methode (ContentControl, String) (2007 System)

Aktualisiert: Juli 2008

Fügt ein neues PictureContentControl hinzu, das auf einem systemeigenen Inhaltssteuerelement im Dokument basiert.

Namespace:  Microsoft.Office.Tools.Word
Assembly:  Microsoft.Office.Tools.Word.v9.0 (in Microsoft.Office.Tools.Word.v9.0.dll)

Syntax

'Declaration
Public Function AddPictureContentControl ( _
    contentControl As ContentControl, _
    name As String _
) As PictureContentControl
'Usage
Dim instance As ControlCollection
Dim contentControl As ContentControl
Dim name As String
Dim returnValue As PictureContentControl

returnValue = instance.AddPictureContentControl(contentControl, _
    name)
public PictureContentControl AddPictureContentControl(
    ContentControl contentControl,
    string name
)

Parameter

Rückgabewert

Typ: Microsoft.Office.Tools.Word.PictureContentControl

Das PictureContentControl, das dem Dokument hinzugefügt wurde.

Ausnahmen

Ausnahme Bedingung
ArgumentNullException

contentControl hat den Wert nullNULL-Verweis (Nothing in Visual Basic).

- oder -

name ist nullNULL-Verweis (Nothing in Visual Basic) oder hat die Länge 0 (null).

ControlNameAlreadyExistsException

Ein Steuerelement mit dem gleichen Namen ist bereits in der ControlCollection vorhanden.

ArgumentException

contentControl ist kein Bausteinkatalog (d. h., die Type-Eigenschaft von contentControl hat nicht den Wert Microsoft.Office.Interop.Word.WdContentControlType.wdContentControlPicture).

Hinweise

Verwenden Sie diese Methode, um zur Laufzeit ein neues PictureContentControl hinzuzufügen, das auf einem systemeigenen Inhaltssteuerelement im Dokument basiert. Diese Vorgehensweise ist hilfreich, wenn Sie ein PictureContentControl zur Laufzeit erstellen und das gleiche Steuerelement beim nächsten Öffnen des Dokuments neu erstellen möchten. Weitere Informationen finden Sie unter Hinzufügen von Steuerelementen zu Office-Dokumenten zur Laufzeit.

Beispiele

Im folgenden Codebeispiel wird für jedes systemeigene Bildsteuerelement, das im Dokument enthalten ist, ein neues PictureContentControl erstellt.

Diese Version bezieht sich auf eine Anpassung auf Dokumentebene. Zum Verwenden dieses Codes fügen Sie ihn in der ThisDocument-Klasse in das Projekt ein und rufen in der ThisDocument_Startup-Methode die CreatePictureControlFromNativeControl-Methode auf.

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
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);
        }
    }
}

Diese Version bezieht sich auf ein Add-In auf Anwendungsebene. Zum Verwenden dieses Codes fügen Sie ihn in der ThisAddIn-Klasse in das Projekt ein und rufen in der ThisAddIn_Startup-Methode die CreatePictureControlFromNativeControl-Methode auf.

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 = Me.Application.ActiveDocument.GetVstoObject()
    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
private System.Collections.Generic.List
   <Microsoft.Office.Tools.Word.PictureContentControl> pictureControls;

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

    Document vstoDoc = this.Application.ActiveDocument.GetVstoObject();
    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);
        }
    }
}

Im folgenden Codebeispiel wird für jedes systemeigene Bildsteuerelement, das der Benutzer dem Dokument hinzufügt, ein neues PictureContentControl erstellt.

Diese Version bezieht sich auf eine Anpassung auf Dokumentebene. Wenn Sie diesen Code verwenden möchten, fügen Sie ihn in der ThisDocument-Klasse in das Projekt ein. In C# müssen Sie außerdem den ThisDocument_PictureContentControlAfterAdd-Ereignishandler an das ContentControlAfterAdd-Ereignis der ThisDocument-Klasse anfügen.

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
void ThisDocument_PictureContentControlAfterAdd(Word.ContentControl NewContentControl, bool InUndoRedo)
{
    if (NewContentControl.Type == Word.WdContentControlType.wdContentControlPicture)
    {
        this.Controls.AddPictureContentControl(NewContentControl,
            "PictureControl" + NewContentControl.ID);
    }
}

Diese Version bezieht sich auf ein Add-In auf Anwendungsebene. Wenn Sie diesen Code verwenden möchten, fügen Sie ihn in der ThisAddIn-Klasse in das Projekt ein. Außerdem müssen Sie den ActiveDocument_PictureContentControlAfterAdd-Ereignishandler an das ContentControlAfterAdd-Ereignis des aktiven Dokuments anfügen.

Private Sub ActiveDocument_PictureContentControlAfterAdd( _
    ByVal NewContentControl As Word.ContentControl, _
    ByVal InUndoRedo As Boolean)

    Dim vstoDoc As Document = Me.Application.ActiveDocument.GetVstoObject()
    If NewContentControl.Type = Word.WdContentControlType. _
        wdContentControlPicture Then
        vstoDoc.Controls.AddPictureContentControl(NewContentControl, _
            "PictureControl" + NewContentControl.ID)
    End If
End Sub
void ActiveDocument_PictureContentControlAfterAdd(
    Word.ContentControl NewContentControl, bool InUndoRedo)
{
    Document vstoDoc = this.Application.ActiveDocument.GetVstoObject();
    if (NewContentControl.Type == Word.WdContentControlType.wdContentControlPicture)
    {
        vstoDoc.Controls.AddPictureContentControl(NewContentControl,
            "PictureControl" + NewContentControl.ID);
    }
}

Berechtigungen

Siehe auch

Referenz

ControlCollection-Klasse

ControlCollection-Member

AddPictureContentControl-Überladung

Microsoft.Office.Tools.Word-Namespace

Weitere Ressourcen

Hinzufügen von Steuerelementen zu Office-Dokumenten zur Laufzeit

Hilfsmethoden für Hoststeuerelemente

Gewusst wie: Hinzufügen von Inhaltssteuerelementen zu Word-Dokumenten

Änderungsprotokoll

Date

Versionsgeschichte

Grund

Juli 2008

Versionen von Codebeispielen für ein Add-In auf Anwendungsebene hinzugefügt.

SP1-Featureänderung.