BuildingBlock object (Word)

Represents a building block in a template. A building block is pre-built content, similar to autotext, that may contain text, images, and formatting.

Remarks

Each BuildingBlock object is a member of the BuildingBlocks and BuildingBlockEntries collections. Building blocks are stored in Microsoft Word templates. Therefore, to access the building blocks available for a document, you need to access an attached template. Built-in building blocks are stored in the template named "Building Blocks.dotx".

Use the Item method of the collection or the BuildingBlocks collection to return an individual building block. The following example accesses the first building block in the first template in the Templates collection.

Dim objTemplate As Template 
Dim objBB As BuildingBlock 
 
Set objTemplate = Templates(1) 
Set objBB = objTemplate.BuildingBlockEntries.Item(1)

Note

Depending on how you access the collection, the collection returned may change. For example, if you access a collection of building blocks with a type of wdTypeAutoText with a category of "General", the returned collection may be different from the collection returned if you access a collection of building blocks with a type of wdTypeAutoText with a category of "Custom". It is also different from the collection returned if you access the collection of building blocks with a type of wdTypeCustomAutoText with a category of "General". Therefore, the first item in a collection accessed from the BuildingBlockEntries collection may be different from the first item in the collection accessed from the BuildingBlocks collection.

To create a new building block, you can use the Add method for either the BuildingBlockEntries collection or the BuildingBlocks collection. However, the recommended way to create a new building block is by using the Add method for the BuildingBlockEntries collection. The following example adds the selected text to the watermarks building block gallery of the first template in the Templates collection.

Dim objTemplate As Template 
Dim objBB As BuildingBlock 
 
Set objTemplate = Templates(1) 
 
Set objBB = objTemplate.BuildingBlockEntries _ 
 .Add(Name:="New Building Block Entry", _ 
 Type:=wdTypeWatermarks, _ 
 Category:="General", _ 
 Range:=Selection.Range)

Use the Insert method to insert a new building block into a document. The following example inserts the first building block in the first template into the active document at the Insertion Point.

Dim objTemplate As Template 
Dim objBB As BuildingBlock 
 
Set objTemplate = Templates(1) 
Set objBB = objTemplate.BuildingBlockEntries.Item(1) 
 
objBB.Insert Selection.Range

Use the Delete method to remove a building block from a template. The following example deletes the first building block from the first template in the Templates collection.

Dim objTemplate As Template 
 
Set objTemplate = Templates(1) 
 
objTemplate.BuildingBlockEntries(1).Delete

Building blocks are organized by category and type. Use the BuildingBlockTypes collection to access individual BuildingBlockType objects. Use the Categories collection to access individual Category objects. Then use the BuildingBlocks property to access the BuildingBlocks collection for a Category object. The following example prints the type and category names of all the building blocks in the first template to the Immediate Window. (This example assumes that the Immediate Window is visible.)

Dim objTemplate As Template 
Dim objBBT As BuildingBlockType 
Dim objCat As Category 
Dim intCount As Integer 
Dim intCountCat As Integer 
 
Set objTemplate = Templates(1) 
 
For intCount = 1 To objTemplate.BuildingBlockTypes.Count 
 Set objBBT = objTemplate.BuildingBlockTypes(intCount) 
 If objBBT.Categories.Count > 0 Then 
 Debug.Print objBBT.Name 
 For intCountCat = 1 To objBBT.Categories.Count 
 Set objCat = objBBT.Categories(intCountCat) 
 Debug.Print vbTab & objCat.Name 
 Next 
 End If 
Next

Each building block has properties that contain information that applies uniquely to it, such as Name, Description, Type, and Value.

For more information about building blocks, see Working with Building Blocks.

Methods

Properties

See also

Support and feedback

Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.