Método ControlCollection.AddBuildingBlockGalleryContentControl (ContentControl, String)
Adicionar novo BuildingBlockGalleryContentControl à coleção.O novo controle é baseado em um controle de conteúdo nativo que já esteja no documento.
Namespace: Microsoft.Office.Tools.Word
Assembly: Microsoft.Office.Tools.Word (em Microsoft.Office.Tools.Word.dll)
Sintaxe
'Declaração
Function AddBuildingBlockGalleryContentControl ( _
contentControl As ContentControl, _
name As String _
) As BuildingBlockGalleryContentControl
BuildingBlockGalleryContentControl AddBuildingBlockGalleryContentControl(
ContentControl contentControl,
string name
)
Parâmetros
- contentControl
Tipo: Microsoft.Office.Interop.Word.ContentControl
Microsoft.Office.Interop.Word.ContentControl que é a base para o novo controle.
- name
Tipo: System.String
O nome do novo controle.
Valor de retorno
Tipo: Microsoft.Office.Tools.Word.BuildingBlockGalleryContentControl
BuildingBlockGalleryContentControl que foi adicionado ao documento.
Exceções
Exceção | Condição |
---|---|
ArgumentNullException | contentControl é nulluma referência nula (Nothing no Visual Basic). - ou - name é nulluma referência nula (Nothing no Visual Basic) ou tem comprimento zero. |
ControlNameAlreadyExistsException | Um controle com o mesmo nome já está em ControlCollection. |
ArgumentException | contentControl não é uma galeria do bloco de construção (ou seja, a propriedade de Type de contentControl não tem o valor Microsoft.Office.Interop.Word.WdContentControlType.wdContentControlBuildingBlockGallery). |
Comentários
Use este método para adicionar novo BuildingBlockGalleryContentControl que é baseado em um controle de conteúdo nativo no documento.Isso é útil quando você cria BuildingBlockGalleryContentControl em tempo de execução, e você deseja recriar o mesmo controle na próxima vez que o documento está aberto.Para obter mais informações, consulte Adicionar controles a documentos do Office em tempo de execução.
Exemplos
O exemplo de código cria um novo BuildingBlockGalleryContentControl para cada galeria nativo do bloco de construção que já está no documento.
Esta é uma versão para personalização da nível.Para usar este código, cole na classe de ThisDocument em seu projeto, e chame o método de CreateBuildingBlockControlsFromNativeControls do método de ThisDocument_Startup .
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);
}
}
}
Esta versão é para um suplemento ao nível que tem como alvo .NET Framework 4 ou .NET Framework 4.5.Para usar este código, cole na classe de ThisAddIn no projeto do suplemento, e chame o método de CreateBuildingBlockControlsFromNativeControls do método de ThisAddIn_Startup .
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);
}
}
}
O exemplo de código cria um novo BuildingBlockGalleryContentControl para cada galeria nativo do bloco de construção que o usuário adiciona ao documento.
Esta é uma versão para personalização da nível.Para usar este código, cole na classe de ThisDocument em seu projeto.Para C#, você também deve anexar um manipulador de eventos de ThisDocument_BuildingBlockContentControlAfterAdd ao evento de ContentControlAfterAdd da classe de ThisDocument .
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);
}
}
Esta versão é para um suplemento ao nível que tem como alvo .NET Framework 4 ou .NET Framework 4.5.Para usar este código, cole na classe de ThisAddIn em seu projeto.Além disso, você deve anexar um manipulador de eventos de ActiveDocument_BuildingBlockContentControlAfterAdd ao evento de ContentControlAfterAdd de documento ativo.
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);
}
}
Segurança do .NET Framework
- Confiança total para o chamador imediato. O membro não pode ser usado por código parcialmente confiável. Para obter mais informações, consulte Usando bibliotecas de código parcialmente confiáveis.
Consulte também
Referência
Sobrecargas AddBuildingBlockGalleryContentControl
Namespace Microsoft.Office.Tools.Word
Outros recursos
Adicionar controles a documentos do Office em tempo de execução
Como: adicionar controles de conteúdo para documentos do Word