我正在使用下面的行来从代言中获得一个选定的下拉列表。
ActiveDocument.FormFields(ActiveDocument.Range.Bookmarks(Selection.Information(30)).Name).Dropdown.Value
但是我无法通过Selection.Information(30)
获得正确的书签索引,因此获得了不正确的书签名称。
任何人都可以帮助我。
获取当前活动/所选书签名称的更“常规”方式是:
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对象模型中没有官方等价物。它仍然可以出于向后兼容的原因,但在这种情况下,无法保证它将继续工作。