如何按位置顺序从Word文档到数组获取所有书签元素的列表:VBA / Word

Man*_*ana 3 vba ms-word word-vba

我想获取我的Word文档中的所有书签,然后将它们推到数组中。书签必须按其在文档中的位置而不是名称进行排序。

例如 这是文档中的书签列表,

[bm_s]  (header)
[bm_h]  (title)
[bm_a]  (footer)
Run Code Online (Sandbox Code Playgroud)

我希望书签保持其顺序,以使数组如下所示,

array {bm_s, bm_h, bm_a, }
Run Code Online (Sandbox Code Playgroud)

例如 看起来应该不会像下面这样

array {bm_a, bm_h, bm_s, }
Run Code Online (Sandbox Code Playgroud)

我从文档工作中获取了所有书签。提取并推入数组时,我会以随机顺序获得所有书签。

Man*_*ana 5

好吧,我知道了

如果其他人有兴趣获取有关其在文档中位置的所有书签,这是如何完成的。

Dim objDoc As Document
Set objDoc = ActiveDocument

For i = 1 To objDoc.Bookmarks.Count
Debug.Print objDoc.Range.Bookmarks(i) 'here you can change the code to push the bookmarks in an array
Next i
Run Code Online (Sandbox Code Playgroud)