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

Vba 使用system.Information()获取书签索引,vba,ms-word,Vba,Ms Word,我正在使用下面的行从背书列表中选择下拉列表 ActiveDocument.FormFields(ActiveDocument.Range.Bookmarks(Selection.Information(30)).Name).Dropdown.Value 但是我无法通过Selection.Information(30)获得正确的书签索引,因此得到了错误的书签名称 谁能帮我一下吗 获取当前活动/选定书签名称的更“传统”的方法是: Selection.Bookmarks(1).Name 由于这似乎

我正在使用下面的行从背书列表中选择下拉列表

ActiveDocument.FormFields(ActiveDocument.Range.Bookmarks(Selection.Information(30)).Name).Dropdown.Value
但是我无法通过
Selection.Information(30)
获得正确的书签索引,因此得到了错误的书签名称

谁能帮我一下吗

获取当前活动/选定书签名称的更“传统”的方法是:

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

Selection.Range.FormFields(1).Name
在注释中,请求是为了书签索引,尽管问题中的请求是为了书签名称。。。在任何情况下,要获取书签索引,请获取从文档开始到所选内容结束的所有书签的计数。(请注意,这将获取上一个书签的索引,这在选择中不是必需的):

请注意,
Information(30)
是一个旧单词Basic value(我必须在1995年的文献中查找),在VBA对象模型中没有正式的等价物。出于向后兼容的原因,它仍然可以工作,但在这种情况下,不能保证它会继续工作。

获取当前活动/选定书签名称的更“传统”的方法是:

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

Selection.Range.FormFields(1).Name
在注释中,请求是为了书签索引,尽管问题中的请求是为了书签名称。。。在任何情况下,要获取书签索引,请获取从文档开始到所选内容结束的所有书签的计数。(请注意,这将获取上一个书签的索引,这在选择中不是必需的):


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

Selection.information(30)提供了当前书签索引,使用该索引,我可以获得书签名称,但不幸的是,我没有获得当前图书标记索引。有什么方法可以得到当前的书签索引吗?我在一个移动设备上工作了几天,所以无法详细研究这个问题。我希望答案中的信息有帮助…嗨,cindy,,,它可以工作,但我使用的是类似Activedocument.formfields(selection.bookmarks(1).name).enable=False,但在该语句之后,我们正在取消对Activedocument的保护,然后禁用的书签在取消保护后再次变为启用。你能在这帮我吗?什么有效?我在回答中提出的代码?如果是,请将其标记为“答案”,因为原始问题已处理完毕。针对一个新主题提出一个新问题,并提供有关如何再现行为的完整信息,包括涉及的保护类型。Stack Overflow不是一个可以进行无休止讨论的“论坛”——它是一种问答格式。Selection.information(30)提供了当前书签索引。使用该索引,我可以获得书签名称,但不幸的是,我没有获得当前的图书标记索引。有什么方法可以得到当前的书签索引吗?我在一个移动设备上工作了几天,所以无法详细研究这个问题。我希望答案中的信息有帮助…嗨,cindy,,,它可以工作,但我使用的是类似Activedocument.formfields(selection.bookmarks(1).name).enable=False,但在该语句之后,我们正在取消对Activedocument的保护,然后禁用的书签在取消保护后再次变为启用。你能在这帮我吗?什么有效?我在回答中提出的代码?如果是,请将其标记为“答案”,因为原始问题已处理完毕。针对一个新主题提出一个新问题,并提供有关如何再现行为的完整信息,包括涉及的保护类型。堆栈溢出不是一个可以进行无休止讨论的“论坛”——它是一种问答形式。