Bookmark 控件

Microsoft.Office.Tools.Word.Bookmark 控件是一个具有唯一名称且用于公开事件的书签,可以绑定到数据。 可以将书签用作占位符以在 Microsoft Office Word 文档中标记项或位置。 Microsoft.Office.Tools.Word.Bookmark 控件是 Microsoft.Office.Interop.Word.Bookmark 对象和 Microsoft.Office.Interop.Word.Range 对象的组合。

**适用于:**本主题中的信息适用于 Word 2007 和 Word 2010 的文档级项目和应用程序级项目。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能

在文档级项目中,您可以在设计时或运行时向文档中添加 Microsoft.Office.Tools.Word.Bookmark 控件。 在应用程序级项目中,可以在运行时向任何打开的文档中添加 Microsoft.Office.Tools.Word.Bookmark 控件。 有关更多信息,请参见如何:向 Word 文档添加书签控件

将数据绑定到控件

Microsoft.Office.Tools.Word.Bookmark 控件支持简单数据绑定。 应该使用 DataBindings 属性将书签绑定到数据源。 书签的默认数据绑定属性是 Text 属性。

如果更新绑定数据集内的数据,则 Microsoft.Office.Tools.Word.Bookmark 控件会反映所做的更改。

在文档级项目中,还可以使用**“数据源”**窗口将数据绑定到书签。 有关更多信息,请参见如何:用对象中的数据填充文档

格式设置

可应用于 Microsoft.Office.Interop.Word.Bookmark 的格式设置也可应用于 Microsoft.Office.Tools.Word.Bookmark 控件。 其中包括字体、缩进、间距、编号和样式。

向书签分配文本

Microsoft.Office.Interop.Word.Bookmark 对象和 Microsoft.Office.Tools.Word.Bookmark 控件之间的另一个差异在于将文本分配给书签时其行为方式的不同。 如果向零长度 Microsoft.Office.Interop.Word.Bookmark 分配文本,文本将被追加到书签右侧,且书签的长度保持为零。 但是,如果向零长度 Microsoft.Office.Tools.Word.Bookmark 分配文本,文本将被插入到书签中,且书签的长度将扩展到所插入字符的总数。

Microsoft.Office.Tools.Word.Bookmark 控件还具有 Bookmark.Text 属性。 此属性与 Microsoft.Office.Tools.Word.Bookmark 控件的 Range 属性或 Microsoft.Office.Interop.Word.Bookmark 对象的 Range 属性上可用的 Range.Text 属性不同。

Text 属性

说明

Bookmark.Text

使用此属性可以在书签内显示文本,并使书签保留在文档中。 向书签分配文本会扩展书签范围,但不会删除书签。

例如,Bookmark1.Text = "Hello world" 将文本插入书签中,且使书签保持原样。

Range.Text

使用此属性可在书签位置处显示文本,并自动删除该书签。 例如,Bookmark1.Range.Text = "Hello world" 将文本插入书签中,并删除该书签。

在设计时重命名控件

在文档级项目中,将 Microsoft.Office.Tools.Word.Bookmark 控件从**“工具箱”拖到文档中时,Visual Studio 会自动为该控件生成一个名称。 可以在“属性”**窗口中更改控件的名称。

重叠控件

书签控件可以相互重叠;也就是说,多个书签可以共享相同文本。 向其中一个重叠书签分配新文本时,该书签将仅包含新文本,并且书签之间将不再重叠。 此时,另一个书签将仅包含未在原来的重叠书签之间共享的文本。

下表说明句子“This is sample text.”如何由两个重叠书签共享。

书签

Text

重叠书签

[this is {sample] text.}

Bookmark1

This is sample

Bookmark2

sample text.

如果向 Bookmark1 分配新文本“This is replacement.”,则书签不再重叠并且 Bookmark2 仅保留原来不属于 Bookmark1 的文本。

书签

Text

两个单独的书签

[this is replacement]{ text.}

Bookmark1

This is replacement

Bookmark2

text.

当一个书签完全包含在另一个书签中时,更改外部书签的文本不会删除内部书签。 但是,内部书签将变成空书签并移动到外部书签的末尾。 下表说明句子“This is sample text.”如何由包含于另一个书签中的书签共享。

书签

Text

重叠书签

[this is {sample} text.]

Bookmark1

This is sample text.

Bookmark2

sample

如果向 Bookmark1 分配新文本“This is replacement.”,则书签不再重叠并且 Bookmark2 变成位于 Bookmark1 末尾的空书签。

书签

Text

两个单独的书签

[this is replacement.]{}

Bookmark1

This is replacement.

Bookmark2

<空>

事件

以下事件可用于 Microsoft.Office.Tools.Word.Bookmark 控件:

请参见

任务

如何:向 Word 文档添加书签控件

演练:创建书签的快捷菜单

概念

使用扩展对象实现 Word 自动化

宿主项和宿主控件的编程限制

其他资源

将数据绑定到 Office 解决方案中的控件