2024年3月13日发(作者:)

WordVBA---内容控件

一、内容控件是什么?

内容控件是绑定,可能带有标记的文档作为容器的特定类型的内容的区域。单个内容控件

可能包含日期、 列表或带格式文本段落等内容。在某些情况下,内容控件可能会是提醒您的窗

体。但是,它们是功能更强大,灵活和有用的,因为它们使您能够创建丰富的、 结构化的内容

块。 内容控件使您可以创建模板,您的文档中插入定义完善的块。

使用内容控件,您可以:

• 在模板中指定结构化区域。每个结构化区域都有自己唯一的 ID,以便对它进行读写。

例如,组合框、图片、文本块和日历均为结构化区域类型(或内容控件)。

• 确定内容控件的行为。每个内容控件都组成文档的一部分,作为模板的创建者,您可以

指定每个区域的功能。例如,如果希望模板的某个区域为日历,就可以在文档的该区域中插入

一个日历内容控件,该内容控件将自动决定该内容块的功能。同样,如果希望模板的某个部分

显示图像,则可以在该区域创建一个图片内容控件。按照此方式,可以用预定义的块类型创建

模板。

• 限制修改文档中的内容控件的能力。每个内容控件可以限制,以使它不能删除或编辑。

这是很有用,例如,你的模板中版权信息,用户应该能够读取但不是能编辑。或者,作为另一

个示例,您可以锁定在模板的文档中内容控件的位置,以便用户不会意外地删除包含内容控件

的内容。这使模板比以前的版本更强大。

• 将内容控件的内容映射到自定义 XML 部件中的数据。例如,如果将纯文本内容控件插

入股票价格表的单元格中,可以将表格单元格中的内容控件映射到包含当前的股票价格的 XML

文件中的节点。当价格发生变化时,外接程序可以以编程方式更新附加的 XML 文件绑定到每

1 / 6

个纯文本内容控件,并自动表中出现的新的、 更新后的价格。

虽然您也可以以编程方式创建它们,但创建一个内容控件的最简单方法是通过用户界面。

若要通过用户界面 (UI)创建一个内容控件,选择您想要变成一个内容控件的内容 (例如,某些

文本或图片),然后从开发人员功能→区内容控件组→选择您想要内容控件类型。这将创建一个

内容控件围绕在所选内容的周围。

二、Word 对象模型中的内容控件

下表显示在 Word 对象模型中与内容控件相关的对象。

名称

ContentControl

说明

每个ContentControl对象代表文档中的各个内容控件。 若要访问单个

ContentControl对象,请使用ContentControls集合。

ContentControls Document 、Range和Selection对象的ContentControls属性可用来访问

内容控件的集合。使用Document对象的SelectContentControlsByTitle方

法和SelectContentControlsByTag方法的来访问其中包含所有具有相同的标

题或标签值的特定内容控件ContentControls集合。

ContentControlListEntry 当内容控件是下拉列表或组合框时, ContentControlListEntry对象表示列表

中的单个项。

ContentControlListEntries 使用ContentControl对象的DropdownListEntries属性用于访问单个的下拉

列表或组合框中的所有项。

每个对象或集合具有方法和属性,您可以使用内容控件单独并以集合的形式。因为有各种

类型的内容控件 (请参阅以下部分"内容控件类型"), ContentControl对象都有成员可能无法适

用于所有不同类型的内容控件。 下表显示了这些属性和方法的ContentControl对象仅适用于

某些类型的内容控件。

注释:

2 / 6