Bookmark コントロール

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

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

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

コントロールへのデータのバインド

Microsoft.Office.Tools.Word.Bookmark コントロールは、単純データ バインディングをサポートしています。 ブックマークは、DataBindings プロパティを使用してデータ ソースにバインドします。 ブックマークの既定のデータ バインディング プロパティは、Text プロパティです。

バインドされたデータセット内のデータが更新された場合は、その変更が Microsoft.Office.Tools.Word.Bookmark コントロールに反映されます。

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

書式設定

Microsoft.Office.Interop.Word.Bookmark オブジェクトに適用できる書式設定を、Microsoft.Office.Tools.Word.Bookmark コントロールに適用できます。 これには、フォント、インデント、間隔、番号付け、およびスタイルがあります。

ブックマークへのテキストの割り当て

Microsoft.Office.Interop.Word.Bookmark オブジェクトと Microsoft.Office.Tools.Word.Bookmark コントロールの相違点の 1 つに、ブックマークにテキストを割り当てるときの動作があります。 長さ 0 の Microsoft.Office.Interop.Word.Bookmark オブジェクトにテキストを割り当てた場合、そのテキストはブックマークの右側に追加され、ブックマーク自体は長さ 0 のままになります。 一方、長さ 0 の Microsoft.Office.Tools.Word.Bookmark コントロールにテキストを割り当てた場合、そのテキストはブックマークに挿入され、ブックマークの長さが挿入文字数まで拡張されます。

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

Text プロパティ

説明

Bookmark.Text

このプロパティは、ブックマークをドキュメント上に維持したまま、そのブックマーク内にテキストを表示するために使用します。 ブックマークにテキストを割り当てると、ブックマーク範囲が拡大され、そのブックマークは削除されません。

たとえば、Bookmark1.Text = "Hello world" を実行すると、ブックマークが維持されたまま、テキストがブックマークに挿入されます。

Range.Text

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

デザイン時のコントロールの名前変更

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

コントロールの重複

Bookmark コントロールは重複可能です。つまり、同じテキストに複数のブックマークを設定できます。 重複しているブックマークの一方に新しいテキストを割り当てると、そのブックマークには新しいテキストだけが割り当てられ、もう一方のブックマークとは重複しなくなります。 もう一方のブックマークには、変更したブックマークと変更前に重複していなかった部分のテキストだけが割り当てられます。

次の表では、"This is sample text." という文が 2 つの重複するブックマークに設定されているようすを示します。

ブックマーク

テキスト

重複するブックマーク

[this is {sample] text.}

Bookmark1

This is sample

Bookmark2

sample text.

Bookmark1 に新しいテキスト "This is replacement." を割り当てると、この 2 つのブックマークは重複しなくなり、Bookmark2 には Bookmark1 と重複していなかったテキストだけが割り当てられます。

ブックマーク

テキスト

2 つの別個のブックマーク

[this is replacement]{ text.}

Bookmark1

This is replacement

Bookmark2

text

あるブックマークが別のブックマーク内に完全に含まれている場合は、外側のブックマークのテキストを変更しても、内部のブックマークは削除されません。 ただし、内部のブックマークは、空のブックマークになり、外側のブックマークの末尾に移動します。 次の表では、"This is sample text." という文が別のブックマーク内に含まれているブックマークに設定されているようすを示します。

ブックマーク

テキスト

重複するブックマーク

[this is {sample} text.]

Bookmark1

This is sample text.

Bookmark2

sample

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

ブックマーク

テキスト

2 つの別個のブックマーク

[this is replacement.]{}

Bookmark1

This is replacement.

Bookmark2

<empty>

イベント

次のイベントは Microsoft.Office.Tools.Word.Bookmark コントロールで使用できます。

参照

処理手順

方法 : Word 文書に Bookmark コントロールを追加する

チュートリアル : ブックマークのショートカット メニューの作成

概念

拡張オブジェクトによる Word の自動化

Office ソリューションでのコントロールへのデータのバインド

ホスト項目およびホスト コントロールのプログラム上の制限事項