Compartir a través de


Filtrar la lista de bloques de creación en un control de contenido

Cuando se utilizan controles de contenido junto a bloques de creación, puede ayudar a los usuarios indicando qué contenido pueden insertar y limitando sus opciones. Puede hacerlo filtrando la lista de bloques de creación mostrados para un control de contenido. Para filtrar una lista de bloques de creación para un control de contenido, utilice la propiedad BuildingBlockType del control de contenido. Puede filtrar aún más la lista de bloques de creación estableciendo la propiedad BuildingBlockCategory para el control de contenido.

Puede filtrar la lista de bloques de creación para un control de contenido cuando cree el control de contenido. No obstante, también puede filtrar mediante programación la lista de bloques de creación basada en la posición del cursos o en el valor de otro control de contenido. Para empezar, necesita una galería de bloques de creación personalizada. Para aprender a crear una galería de bloques de creación personalizada, consulte Crear una galería de bloques de creación personalizada.

Ejemplo 1

En el ejemplo siguiente se muestra cómo filtrar una lista de bloques de creación para una galería específica.

Nota:

[!NOTA] Ejecute el código del tema "Crear una galería de bloques de creación personalizada" antes de ejecutar el código de este tema.

Sub CreateFilteredContentControl_SampleOneA() 
 Dim objCC As ContentControl 
 
 Set objCC = ActiveDocument.ContentControls.Add( _ 
 wdContentControlBuildingBlockGallery, Selection.Range) 
 
 objCC.BuildingBlockType = wdTypeCustom1 
End Sub

Puede filtrar una lista de bloques de creación aún más especificando una categoría específica en la galería. En el siguiente ejemplo se muestra cómo filtrar una lista de bloques de creación para incluir sólo los bloques de creación en una categoría de una galería especificada.

Sub CreateFilteredContentControl_SampleOneB() 
 Dim objCC As ContentControl 
 
 Set objCC = ActiveDocument.ContentControls.Add( _ 
 wdContentControlBuildingBlockGallery, Selection.Range) 
 
 objCC.BuildingBlockType = wdTypeCustom1 
 objCC.BuildingBlockCategory = "Tertiary Headings" 
End Sub

Ejemplo 2

Para filtrar una lista de bloques de creación basada en la posición del cursor, es necesario utilizar el evento ContentControlOnEnter. Por ejemplo, si tiene un control de contenido llamado Report Type que debe definirse como "financial" o "marketing", puede tener un control de contenido de bloques de creación que muestre una lista de renuncias posibles. El control de contenido para las renuncias mostrará todas las renuncias si no se define Report Type y sólo el subconjunto adecuado en caso de que se defina. En el ejemplo siguiente se filtra la lista de bloques de creación para un control de contenido basado en el valor de otro control de contenido del documento.

Private Sub Document_ContentControlOnEnter(ByVal ContentControl As ContentControl) 
 Dim objCC As ContentControl 
 Dim objType As ContentControl 
 
 Set objCC = ContentControl 
 Set objType = ActiveDocument.ContentControls.Item("Report Type") 
 
 If objCC.Title = "Disclaimer" Then 
 Select Case objType.Range.Text 
 Case "Financial" 
 objCC.BuildingBlockType = wdTypeCustom1 
 objCC.BuildingBlockCategory = "Financial Disclaimers" 
 
 Case "Marketing" 
 objCC.BuildingBlockType = wdTypeCustom1 
 objCC.BuildingBlockCategory = "Marketing Disclaimers" 
 
 End Select 
 End If 
End Sub

Consulte también

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.