2013-02-06 88 views
2

我想獲取Word文檔中的所有書籤,然後將它們推送到數組。書籤必須按文件中的位置按名稱排序。如何從Word文檔中按位置順序獲取所有書籤元素的列表:VBA/Word

ex。這裏有書籤的文件列表中,

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

我想書籤,以保持它們的順序,以使陣列看起來像如下,

array {bm_s, bm_h, bm_a, } 

前。它不應該看起來像下面,

array {bm_a, bm_h, bm_s, } 

我從文檔工作獲取所有書籤。當讀取並推送到數組時,我會以隨機順序獲取所有書籤。

回答

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 
+0

衝,所以我想我可能已經過早地躍升至結論,該代碼事實上確實取文件的每個書籤,但除了書籤在頁眉和頁腳中。 – Mana

2

如果有人還想知道;您可以訪問不同的部分MS Word文檔中,像這樣:

ActiveDocument.StoryRanges(wdPrimaryHeaderStory).Bookmarks.Count 
ActiveDocument.StoryRanges(wdMainTextStory).Bookmarks.Count 
ActiveDocument.StoryRanges(wdPrimaryFooterStory).Bookmarks.Count 
相關問題