使用system.Information()获取书签索引

问题描述 投票:1回答:1

我正在使用下面的行来从代言中获得一个选定的下拉列表。

ActiveDocument.FormFields(ActiveDocument.Range.Bookmarks(Selection.Information(30)).Name).Dropdown.Value

但是我无法通过Selection.Information(30)获得正确的书签索引,因此获得了不正确的书签名称。

任何人都可以帮助我。

vba ms-word
1个回答
0
投票

获取当前活动/所选书签名称的更“常规”方式是:

Selection.Bookmarks(1).Name

由于这似乎是一个表单字段,因此也可以通过该集合获取名称:

Selection.Range.FormFields(1).Name

在评论中,请求是针对书签索引,尽管问题中的请求是针对书签名称的......在任何情况下,要获取书签索引,请获取从文档开头到结尾的所有书签的计数。选择。 (请注意,这将获取上一个上一个书签的索引,这在选择中不是必需的):

bkmIndex = ActiveDocument.Range(0, Selection.Range.End).Bookmarks.Count
Debug.Print ActiveDocument.Bookmarks(bkmIndex).Name

请注意,Information(30)是一个旧的Word Basic值(我不得不在1995年的文献中查找),它在VBA对象模型中没有官方等价物。它仍然可以出于向后兼容的原因,但在这种情况下,无法保证它将继续工作。

© www.soinside.com 2019 - 2024. All rights reserved.