我想获取Word文档中的所有书签,然后将它们推送到数组中。书签必须按文档中的位置排序,而不是按名称排序。
离。这是文档中的书签列表,
[bm_s] (header)
[bm_h] (title)
[bm_a] (footer)
我希望书签保持顺序,以便数组看起来如下,
array {bm_s, bm_h, bm_a, }
离。它不应该如下所示,
array {bm_a, bm_h, bm_s, }
我从文档工作中获取了所有书签。在获取并推送到数组时,我以随机顺序获取所有书签。
答案 0 :(得分:3)
如果其他人有兴趣获取有关其在文档上的位置的所有书签,那么这是如何完成的。
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
答案 1 :(得分:2)
如果有人还想知道;您可以访问MS Word文档的不同部分,如下所示:
ActiveDocument.StoryRanges(wdPrimaryHeaderStory).Bookmarks.Count
ActiveDocument.StoryRanges(wdMainTextStory).Bookmarks.Count
ActiveDocument.StoryRanges(wdPrimaryFooterStory).Bookmarks.Count