ControlCollection.AddBuildingBlockGalleryContentControl-Methode (ContentControl, String)
Fügt der Auflistung ein neues BuildingBlockGalleryContentControl hinzu. Das neue Steuerelement basiert auf einem systemeigenen Inhaltssteuerelement, das bereits im Dokument vorhanden ist.
Namespace: Microsoft.Office.Tools.Word
Assembly: Microsoft.Office.Tools.Word (in Microsoft.Office.Tools.Word.dll)
Syntax
'Declaration
Function AddBuildingBlockGalleryContentControl ( _
contentControl As ContentControl, _
name As String _
) As BuildingBlockGalleryContentControl
BuildingBlockGalleryContentControl AddBuildingBlockGalleryContentControl(
ContentControl contentControl,
string name
)
Parameter
- contentControl
Typ: Microsoft.Office.Interop.Word.ContentControl
Das Microsoft.Office.Interop.Word.ContentControl, das die Grundlage für das neue Steuerelement darstellt.
- name
Typ: System.String
Der Name des neuen Steuerelements.
Rückgabewert
Typ: Microsoft.Office.Tools.Word.BuildingBlockGalleryContentControl
Das BuildingBlockGalleryContentControl, das dem Dokument hinzugefügt wurde.
Ausnahmen
Ausnahme | Bedingung |
---|---|
ArgumentNullException | contentControl ist nullein Nullverweis (Nothing in Visual Basic). - oder - name ist nullein Nullverweis (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.wdContentControlBuildingBlockGallery). |
Hinweise
Verwenden Sie diese Methode, um ein neues BuildingBlockGalleryContentControl hinzuzufügen, das auf einem systemeigenen Inhaltssteuerelement im Dokument basiert. Diese Vorgehensweise ist hilfreich, wenn Sie ein BuildingBlockGalleryContentControl 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 jeden systemeigenen Bausteinkatalog, der bereits im Dokument enthalten ist, ein neues BuildingBlockGalleryContentControl 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 CreateBuildingBlockControlsFromNativeControls-Methode auf.
Private buildingBlockControls As New System.Collections.Generic.List _
(Of Microsoft.Office.Tools.Word.BuildingBlockGalleryContentControl)
Private Sub CreateBuildingBlockGalleryControlsFromNativeControls()
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.wdContentControlBuildingBlockGallery Then
count += 1
Dim tempControl As Microsoft.Office.Tools.Word.BuildingBlockGalleryContentControl = _
Me.Controls.AddBuildingBlockGalleryContentControl(nativeControl, _
"VSTOBuildingBlockGalleryContentControl" + count.ToString())
buildingBlockControls.Add(tempControl)
End If
Next nativeControl
End Sub
private System.Collections.Generic.List
<Microsoft.Office.Tools.Word.BuildingBlockGalleryContentControl> buildingBlockControls;
private void CreateBuildingBlockControlsFromNativeControls()
{
if (this.ContentControls.Count <= 0)
return;
buildingBlockControls = new System.Collections.Generic.List
<Microsoft.Office.Tools.Word.BuildingBlockGalleryContentControl>();
int count = 0;
foreach (Word.ContentControl nativeControl in this.ContentControls)
{
if (nativeControl.Type == Word.WdContentControlType.wdContentControlBuildingBlockGallery)
{
count++;
Microsoft.Office.Tools.Word.BuildingBlockGalleryContentControl tempControl =
this.Controls.AddBuildingBlockGalleryContentControl(nativeControl,
"VSTOBuildingBlockContentControl" + count.ToString());
buildingBlockControls.Add(tempControl);
}
}
}
Diese Version bezieht sich auf ein Add-In auf Anwendungsebene, das auf .NET Framework 4 oder .NET Framework 4.5 abzielt. Zum Verwenden dieses Codes fügen Sie ihn in der ThisAddIn-Klasse in Ihr Add-In-Projekt ein und rufen in der ThisAddIn_Startup-Methode die CreateBuildingBlockControlsFromNativeControls-Methode auf.
Private buildingBlockControls As New System.Collections.Generic.List _
(Of BuildingBlockGalleryContentControl)
Private Sub CreateBuildingBlockGalleryControlsFromNativeControls()
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.wdContentControlBuildingBlockGallery Then
count += 1
Dim tempControl As Microsoft.Office.Tools.Word.BuildingBlockGalleryContentControl = _
vstoDoc.Controls.AddBuildingBlockGalleryContentControl(nativeControl, _
"VSTOBuildingBlockGalleryContentControl" + count.ToString())
buildingBlockControls.Add(tempControl)
End If
Next nativeControl
End Sub
private System.Collections.Generic.List
<Microsoft.Office.Tools.Word.BuildingBlockGalleryContentControl> buildingBlockControls;
private void CreateBuildingBlockControlsFromNativeControls()
{
if (this.Application.ActiveDocument == null)
return;
Document vstoDoc = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
if (vstoDoc.ContentControls.Count <= 0)
{
System.Windows.Forms.MessageBox.Show("No content controls found in document.");
return;
}
buildingBlockControls = new System.Collections.Generic.List
<Microsoft.Office.Tools.Word.BuildingBlockGalleryContentControl>();
int count = 0;
foreach (Word.ContentControl nativeControl in vstoDoc.ContentControls)
{
if (nativeControl.Type == Word.WdContentControlType.wdContentControlBuildingBlockGallery)
{
count++;
Microsoft.Office.Tools.Word.BuildingBlockGalleryContentControl tempControl =
vstoDoc.Controls.AddBuildingBlockGalleryContentControl(nativeControl,
"VSTOBuildingBlockContentControl" + count.ToString());
buildingBlockControls.Add(tempControl);
}
}
}
Im folgenden Codebeispiel wird für jeden systemeigenen Bausteinkatalog, den der Benutzer dem Dokument hinzufügt, ein neues BuildingBlockGalleryContentControl 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 im Projekt ein. In C# müssen Sie außerdem den ThisDocument_BuildingBlockContentControlAfterAdd-Ereignishandler an das ContentControlAfterAdd-Ereignis der ThisDocument-Klasse anfügen.
Private Sub ThisDocument_BuildingBlockContentControlAfterAdd(ByVal NewContentControl As Word.ContentControl, _
ByVal InUndoRedo As Boolean) Handles Me.ContentControlAfterAdd
If NewContentControl.Type = Word.WdContentControlType.wdContentControlBuildingBlockGallery Then
Me.Controls.AddBuildingBlockGalleryContentControl(NewContentControl, _
"BuildingBlockControl" + NewContentControl.ID)
End If
End Sub
void ThisDocument_BuildingBlockContentControlAfterAdd(Word.ContentControl NewContentControl, bool InUndoRedo)
{
if (NewContentControl.Type == Word.WdContentControlType.wdContentControlBuildingBlockGallery)
{
this.Controls.AddBuildingBlockGalleryContentControl(NewContentControl,
"BuildingBlockControl" + NewContentControl.ID);
}
}
Diese Version bezieht sich auf ein Add-In auf Anwendungsebene, das auf .NET Framework 4 oder .NET Framework 4.5 abzielt. Wenn Sie diesen Code verwenden möchten, fügen Sie ihn in der ThisAddIn-Klasse im Projekt ein. Außerdem müssen Sie den ActiveDocument_BuildingBlockContentControlAfterAdd-Ereignishandler an das ContentControlAfterAdd-Ereignis des aktiven Dokuments anfügen.
Private Sub ActiveDocument_BuildingBlockContentControlAfterAdd( _
ByVal NewContentControl As Word.ContentControl, _
ByVal InUndoRedo As Boolean)
Dim vstoDoc As Document = Globals.Factory.GetVstoObject(Me.Application.ActiveDocument)
If NewContentControl.Type = Word.WdContentControlType. _
wdContentControlBuildingBlockGallery Then
vstoDoc.Controls.AddBuildingBlockGalleryContentControl(NewContentControl, _
"BuildingBlockControl" + NewContentControl.ID)
End If
End Sub
void ActiveDocument_BuildingBlockContentControlAfterAdd(
Word.ContentControl NewContentControl, bool InUndoRedo)
{
Document vstoDoc = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
if (NewContentControl.Type == Word.WdContentControlType.wdContentControlBuildingBlockGallery)
{
vstoDoc.Controls.AddBuildingBlockGalleryContentControl(NewContentControl,
"BuildingBlockControl" + NewContentControl.ID);
}
}
.NET Framework-Sicherheit
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.
Siehe auch
Referenz
ControlCollection Schnittstelle
AddBuildingBlockGalleryContentControl-Überladung
Microsoft.Office.Tools.Word-Namespace
Weitere Ressourcen
Hinzufügen von Steuerelementen zu Office-Dokumenten zur Laufzeit
Gewusst wie: Hinzufügen von Inhaltssteuerelementen zu Word-Dokumenten