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 に答える