Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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.