Bookmark コントロール

Bookmark コントロールは、一意の名前を持ち、イベントを公開し、データにバインドできるブックマークです。 ブックマークは、Microsoft Office Word 文書内の項目または位置をマークするためのプレースホルダーとして使用できます。 Bookmark コントロールは、 Bookmark オブジェクトと Range オブジェクトを組み合わせたものです。

適用対象: このトピックの情報は、Word のドキュメント レベルのプロジェクトおよび VSTO アドインのプロジェクトに適用されます。 詳細については、「Office アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

ドキュメント レベルのプロジェクトでは、デザイン時または実行時に、文書に Bookmark コントロールを追加できます。 VSTO アドイン プロジェクトでは、実行時に、開いている任意の文書に Bookmark コントロールを追加できます。 詳細については、「方法: Word 文書に Bookmark コントロールを追加する」を参照してください。

データをコントロールにバインドする

Bookmark コントロールでは、単純データ バインディングがサポートされます。 ブックマークは、 DataBindings プロパティを使用してデータ ソースにバインドする必要があります。 ブックマークの既定のデータ バインディング プロパティは、 Text プロパティです。

バインドされたデータセット内のデータが更新されると、Bookmark コントロールによってその変更が表示されます。

ドキュメント レベルのプロジェクトでは、 [データ ソース] ウィンドウを使用してブックマークにデータをバインドすることもできます。 詳細については、「方法: オブジェクトのデータをドキュメントに読み込む」を参照してください。

形式

Bookmark に適用できる書式設定は、 Bookmark コントロールに適用できます。 この書式設定には、フォント、インデント、間隔、番号付け、およびスタイルが含まれます。

テキストをブックマークに割り当てる

Microsoft.Office.Interop.Word.Bookmark オブジェクトと Microsoft.Office.Tools.Word.Bookmark コントロールのもう 1 つの違いに、テキストをブックマークに割り当てる場合の動作があります。 長さゼロの Microsoft.Office.Interop.Word.Bookmarkにテキストを割り当てた場合、テキストはブックマークの右側に追加されるため、ブックマークの長さはゼロのままです。 しかし、長さゼロの Microsoft.Office.Tools.Word.Bookmarkにテキストを割り当てた場合、テキストはブックマークに挿入されるため、ブックマークの長さは、挿入された文字の合計数に拡張されます。

Microsoft.Office.Tools.Word.Bookmark コントロールには Bookmark.Text プロパティもあります。 このプロパティは、Microsoft.Office.Tools.Word.Bookmark コントロールの Bookmark.Range プロパティ、または Bookmark.Range オブジェクトの Microsoft.Office.Interop.Word.Bookmark プロパティで使用できる Range.Text プロパティとは異なります。

Text プロパティ 説明
Bookmark.Text このプロパティは、ブックマーク内にテキストを表示し、そのブックマークを文書上に維持する場合に使用します。 ブックマークにテキストを割り当てると、ブックマークの範囲が拡張され、そのブックマークは削除されません。

たとえば、 Bookmark1.Text = "Hello world" の場合、テキストがブックマークに挿入され、ブックマークが失われることはありません。
Range.Text このプロパティは、ブックマークの位置にテキストを表示し、そのブックマークを自動的に削除する場合に使用します。 たとえば、 Bookmark1.Range.Text = "Hello world" の場合、テキストがブックマークに挿入され、そのブックマークは削除されます。

デザイン時にコントロールの名前を変更する

ドキュメント レベルのプロジェクトで、 Bookmark コントロールを [ツールボックス] から文書にドラッグすると、Visual Studio によってコントロールの名前が自動的に生成されます。 コントロールの名前は [プロパティ] ウィンドウで変更できます。

コントロールの重複

Bookmark コントロールは、重複させることができます。 同じテキストを複数のブックマークで共有できます。 重複しているブックマークの 1 つに新しいテキストを割り当てると、そのブックマークには新しいテキストだけが含まれるようになり、それらのブックマークは重複しなくなります。 他のブックマークには、元の重複していたブックマーク間で共有されていなかったテキストだけが含まれるようになります。

次の表では、「This is sample text.」という文が 2 つの重複するブックマークでどのように共有されるかが示されています。

Bookmark テキスト
重複するブックマーク [this is {sample] text.}
Bookmark1 This is sample
Bookmark2 sample text.

Bookmark1 に新しいテキスト「This is replacement.」を割り当てると、ブックマークは重複しなくなり、Bookmark2 にはもともと Bookmark1 と重複していなかったテキストだけが維持されます。

Bookmark テキスト
2 つの別個のブックマーク [this is replacement]{ text.}
Bookmark1 This is replacement
Bookmark2 テキスト。

別のブックマークを含むブックマークのテキストを変更しても、内部ブックマークは削除されません。 ただし、内部ブックマークは空のブックマークになり、外側のブックマークの末尾に移動されます。

次の表では、「This is sample text.」という文が別のブックマーク内に含まれているブックマークによってどのように共有されるかが示されています。

Bookmark テキスト
重複するブックマーク [this is {sample} text.]
Bookmark1 This is sample text.
Bookmark2 sample

Bookmark1 に新しいテキスト「This is replacement.」を割り当てると、これらの 2 つのブックマークは重複しなくなり、Bookmark2 は Bookmark1 の末尾にある空のブックマークになります。

Bookmark テキスト
2 つの別個のブックマーク [this is replacement.]{}
Bookmark1 This is replacement.
Bookmark2 <empty>

[イベント]

次のイベントは Bookmark コントロールに対して利用できます。