Bookmark コントロールは、一意の名前を持ち、イベントを公開し、データにバインドできるブックマークです。 ブックマークは、Microsoft Office Word 文書内のアイテムまたは場所をマークするプレースホルダーとして使用できます。 Bookmark コントロールは、Bookmark オブジェクトとRange オブジェクトの組み合わせです。
適用対象: このトピックの情報は、Word のドキュメント レベルのプロジェクトと VSTO アドイン プロジェクトに適用されます。 詳細については、「 Office アプリケーションとプロジェクトの種類で使用できる機能」を参照してください。
ドキュメント レベルのプロジェクトでは、デザイン時または実行時に Bookmark コントロールをドキュメントに追加できます。 VSTO アドイン プロジェクトでは、実行時に開いている任意のドキュメントに Bookmark コントロールを追加できます。 詳細については、「 方法: Word 文書にブックマーク コントロールを追加する」を参照してください。
データをコントロールにバインドする
Bookmark コントロールは、単純なデータ バインディングをサポートします。 ブックマークは、 DataBindings プロパティを使用してデータ ソースにバインドする必要があります。 ブックマークの既定のデータ バインディング プロパティは、 Text プロパティです。
バインドされたデータセット内のデータが更新されると、 Bookmark コントロールに変更が表示されます。
ドキュメント レベルのプロジェクトでは、[データ ソース] ウィンドウを使用して、ブックマークにデータをバインドすることもできます。 詳細については、「 方法: オブジェクトからのデータをドキュメントに設定する」を参照してください。
Formatting
Bookmarkに適用できる書式設定は、Bookmark コントロールに適用できます。 この書式設定には、フォント、インデント、間隔、段落番号、スタイルが含まれます。
ブックマークにテキストを割り当てる
Microsoft.Office.Interop.Word.Bookmark オブジェクトとMicrosoft.Office.Tools.Word.Bookmark コントロールの別の違いは、テキストがブックマークに割り当てられるときの動作です。 長さ 0 の Microsoft.Office.Interop.Word.Bookmarkにテキストを割り当てると、ブックマークの右側にテキストが追加され、ブックマークの長さが 0 のままになります。 ただし、長さ 0 の Microsoft.Office.Tools.Word.Bookmarkにテキストを割り当てると、テキストがブックマークに挿入され、ブックマークの長さが挿入された文字数の合計に拡張されます。
Microsoft.Office.Tools.Word.Bookmark コントロールには、Bookmark.Text プロパティもあります。 このプロパティは、Range.Text コントロールのBookmark.Range プロパティまたはMicrosoft.Office.Tools.Word.Bookmark オブジェクトのBookmark.Range プロパティで使用できるMicrosoft.Office.Interop.Word.Bookmark プロパティとは異なります。
| Text プロパティ | Description |
|---|---|
| Bookmark.Text | このプロパティを使用して、ブックマーク内のテキストを表示し、文書にブックマークを残します。 ブックマークにテキストを割り当てると、ブックマークの範囲が広がり、ブックマークは削除されません。 たとえば、 Bookmark1.Text = "Hello world" はブックマークにテキストを挿入し、ブックマークをそのまま残します。 |
| Range.Text | このプロパティを使用して、ブックマークの場所にテキストを表示し、ブックマークを自動的に削除します。 たとえば、 Bookmark1.Range.Text = "Hello world" はブックマークにテキストを挿入し、ブックマークを削除します。 |
デザイン時にコントロールの名前を変更する
ドキュメント レベルのプロジェクトでは、 Bookmark コントロールを ツールボックス からドキュメントにドラッグすると、Visual Studio によってコントロールの名前が自動的に生成されます。 コントロールの名前は 、[プロパティ ] ウィンドウで変更できます。
コントロールの重なり
ブックマーク コントロールは重なり合うことができます。 同じテキストを複数のブックマークで共有できます。 重複するブックマークのいずれかに新しいテキストを割り当てると、新しいテキストのみが含まれるため、ブックマークは重複しなくなります。 もう 1 つのブックマークには、元の重複するブックマーク間で共有されなかったテキストのみが含まれるようになりました。
次の表は、"This is sample text" という文が 2 つの重なり合うブックマークによって共有される方法を示しています。
| ブックマーク | テキスト |
|---|---|
| ブックマークの重なり | [これは{サンプル] テキストです。} |
| ブックマーク1 | これはサンプルです |
| ブックマーク2 | サンプル テキスト。 |
新しいテキスト "これは置換です" を Bookmark1 に割り当てると、ブックマークは重複せず、Bookmark2 はもともと Bookmark1 に含まれていないテキストのみを保持します。
| ブックマーク | テキスト |
|---|---|
| 2 つの個別のブックマーク | [これは置き換えです]{ text.} |
| ブックマーク1 | これは置き換えです |
| ブックマーク2 | テキスト。 |
別のブックマークを含むブックマークのテキストを変更しても、内部ブックマークは削除されません。 ただし、内側のブックマークは空のブックマークになり、外側のブックマークの末尾に移動します。
次の表は、"This is sample text" という文が、別のブックマークに含まれるブックマークによって共有される方法を示しています。
| ブックマーク | テキスト |
|---|---|
| ブックマークの重なり | [これは {sample} テキストです。] |
| ブックマーク1 | これはサンプル テキストです。 |
| ブックマーク2 | サンプル |
新しいテキスト "This is replacement." を Bookmark1 に割り当てると、ブックマークは重複しなくなり、Bookmark2 は Bookmark1 の末尾にある空のブックマークになります。
| ブックマーク | テキスト |
|---|---|
| 2 つの個別のブックマーク | [これは置き換えです。]{} |
| ブックマーク1 | これは置き換えです。 |
| ブックマーク2 | <空> |
イベント
Bookmark コントロールでは、次のイベントを使用できます。