ブックマークの使い方をすでに知っている可能性があります。 (他の_WordTips_は、それらを定義および操作する方法を説明します。)マクロを作成している場合、ドキュメント内で定義されたブックマークの名前を取得する必要がある場合があります。

VBAでは、BookmarksコレクションのメンバーでNameプロパティを使用して、ブックマーク名を取得できます。ステートメントの構文は次のとおりです。

x = ActiveDocument.Bookmarks(y).Name

ここで、_y_は必要なブックマーク名へのオフセットポインタです。ステートメントの実行後、_x_にはポインターで指定されたブックマークの名前が含まれます。この関数を便利にするには、すべてのブックマーク名を配列に読み込んで、操作できるようにする必要があります。次のコードフラグメントでうまくいきます:

Dim Bmk() As String Dim x As Integer, J As Integer

x = ActiveDocument.Bookmarks.Count ReDim Bmk(x)

For j = 1 to x     Bmk(j) = ActiveDocument.Bookmarks(j).Name Next j

このコードフラグメントはReDimステートメントを使用していることに注意してください。これにより、配列内の要素の数を動的に変更できます。このアプローチの理由は非常に単純です。Bmk配列には、定義されたブックマークと同じ数の要素が必要です。ただし、このコードの3行目を実行する前に、正確な数を知ることはできません。 VBAでは、実際のプログラムコードが実行される前に、すべてのディメンション化(Dimを使用)を実行する必要があります。したがって、Bmkの最初のDimはVBAを満たすことであり、BmkのReDimは、配列を必要なサイズに設定するために実行されます。

注:

このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

link:/ wordribbon-WordTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]

_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(11969)は、Microsoft Word 2007、2010、2013、2016、2019、およびOffice 365のWordに適用されます。このヒントのバージョンは、ここにWordの古いメニューインターフェイス:

link:/ word-Getting_the_Names_of_Defined_Bookmarks [定義されたブックマークの名前の取得]