3

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

前任。这是文档中的书签列表,

[bm_s]  (header)
[bm_h]  (title)
[bm_a]  (footer)

我希望书签保持它们的顺序,以便数组如下所示,

array {bm_s, bm_h, bm_a, }

前任。它不应该如下所示,

array {bm_a, bm_h, bm_s, }

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

4

2 回答 2

7

好的,所以我想通了,

如果其他人有兴趣获取与其在文档上的位置相关的所有书签,这就是它的完成方式。

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
于 2013-02-06T10:05:35.737 回答
3

万一还有人想知道;您可以访问 MS Word 文档的不同部分,如下所示:

ActiveDocument.StoryRanges(wdPrimaryHeaderStory).Bookmarks.Count
ActiveDocument.StoryRanges(wdMainTextStory).Bookmarks.Count
ActiveDocument.StoryRanges(wdPrimaryFooterStory).Bookmarks.Count
于 2015-12-11T02:02:25.080 回答