我正在使用下面的代码来从结局中选择一个下拉列表。
ActiveDocument.FormFields(ActiveDocument.Range.Bookmarks(Selection.Information(30)).Name).Dropdown.Value
但是我无法通过Selection.Information(30)
获取正确的书签索引,因此得到的书签名称不正确。
有人可以在这里帮助我吗?
答案 0 :(得分: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对象模型中没有任何正式的等效项。出于向后兼容的原因,它仍然可以工作,但是在这种情况下,不能保证它将继续工作。