BuildingBlock 对象 (Word)

代表模板中的构建基块。 构建基块是预先构建的内容,类似于自动图文集,其中可能包含文本、图像和格式。

备注

每个 BuildingBlock 对象都是 BuildingBlocksBuildingBlockEntries 集合的成员。 构建基块存储在 Microsoft Word 模板中。 因此,要访问文档可用的构建基块,需要访问附加的模板。 内置构建基块存储在名为“Building Blocks.dotx”的模板中。

使用 集合或 BuildingBlocks 集合的 Item 方法可返回单个构建基块。 以下示例访问 Templates 集合中第一个模板的第一个构建基块。

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

备注

根据访问集合方式,返回的集合可能会更改。 例如,如果您访问的类型为 wdTypeAutoText 的"常规"类别使用构建基块的集合,则返回的集合可能不同如果访问类型为 wdTypeAutoText 的"自定义"类别与构建基块的集合返回的集合中。 这也是其他如果您访问的类型为 wdTypeCustomAutoText 的"常规"类别使用构建基块的集合返回的集合中。 因此,从 BuildingBlockEntries 集合访问的集合的第一项可能不同于从 BuildingBlocks 集合访问的集合的第一个项目。

要创建新的构建基块,可以使用 BuildingBlockEntries 集合或 BuildingBlocks 集合的 Add 方法。 但是,建议使用 BuildingBlockEntries 集合的 Add 方法创建新的构建基块。 以下示例将所选文本添加到 Templates 集合中第一个模板的水印构建基块库中。

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)

使用 Insert 方法在文档中插入新的构建基块。 以下示例在活动文档的插入点插入第一个模板中的第一个构建基块。

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

使用 Delete 方法从模板中删除构建基块。 以下示例从 Templates 集合中的第一个模板删除第一个构建基块。

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

构建基块按类别和类型进行组织。 使用 BuildingBlockTypes 集合访问单个 BuildingBlockType 对象。 使用 Categories 集合 可以访问各个 Category 对象。 然后使用 BuildingBlocks 属性访问 Category 对象的 BuildingBlocks 集合。 下面的示例将第一个模板中所有构建基块的类型和类别名称打印到即时 窗口中。 (本示例假定即时 窗口 可见。)

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

每个构建基块都有一些属性,这些属性包含唯一应用于该构建基块的信息,例如 NameDescriptionTypeValue

有关构建基块的详细信息,请参阅处理构建基块

方法

属性

另请参阅

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。