很有可能您已经知道如何使用书签。 (其他_WordTips_描述了如何定义和操作它们。)如果要创建宏,则可能需要检索文档中定义的书签的名称。

VBA允许您通过将Name属性与Bookmarks集合的成员一起使用来检索书签名称。该语句的语法如下:

x = ActiveDocument.Bookmarks(y).Name

其中_y_是指向所需书签名称的偏移量指针。执行该语句后,_x_将包含指针指定的书签的名称。为了使此功能有用,您确实应该将所有书签名称读入一个数组,然后可以对其进行操作。以下代码片段可以解决问题:

Dim Bmk() As String Dim x As Integer, J As Integer

x = ActiveDocument.Bookmarks.Count ReDim Bmk(x)

For j = 1 to x     Bmk(j) = ActiveDocument.Bookmarks(j).Name Next j

请注意,此代码片段使用ReDim语句,该语句使您可以动态更改数组中元素的数量。这种方法的原因很简单:Bmk数组需要具有与定义的书签一样多的元素。但是,在执行此代码的第三行之前,您无法确切知道到底有多少。 VBA要求所有尺寸(使用Dim)都必须在执行任何实际程序代码之前完成。因此,Bmk的第一个Dim要满足VBA,并且完成Bmk的ReDim将数组设置为必要的大小。

注意:

如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)上描述的宏,我准备了一个包含有用信息的特殊页面。

_WordTips_是您进行经济有效的Microsoft Word培训的来源。

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(11969年)适用于Microsoft Word 2007、2010、2013、2016、2019和Office 365中的Word。 Word的旧菜单界面在这里: