Share via


Bookmark コントロール

更新 : 2008 年 7 月

対象

このトピックの情報は、指定された Visual Studio Tools for Office プロジェクトおよび Microsoft Office のバージョンにのみ適用されます。

ドキュメント レベルのプロジェクト

  • Word 2003

  • Word 2007

アプリケーション レベルのプロジェクト

  • Word 2007

詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

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

Bookmark コントロールは、Microsoft.Office.Interop.Word.Bookmark オブジェクトと Microsoft.Office.Interop.Word.Range オブジェクトを組み合わせたものです。ドキュメントにブックマークを追加すると、Word オブジェクト モデルを走査しなくてもプログラミングで直接操作できるブックマーク オブジェクトが、Visual Studio Tools for Office によって作成されます。

ドキュメント レベルのプロジェクトでは、デザイン時または実行時にドキュメントに Bookmark コントロールを追加できます。Visual Studio 2008 Service Pack 1 (SP1) より、Word 2007 用のアプリケーション レベルのアドインを使用して、実行時に Bookmark コントロールを任意の開いているドキュメントにも追加できるようになりました。詳細については、「方法 : Word 文書に Bookmark コントロールを追加する」を参照してください。

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

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

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

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

書式設定

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

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

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

また、Visual Studio Tools for Office によって、Bookmark.Text プロパティが Bookmark コントロールに追加されます。このプロパティは、ブックマークの Range のプロパティである Range.Text プロパティとは異なります。

Text プロパティ

説明

Bookmark.Text

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

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

Range.Text

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

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

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

コントロールの重複

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

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

ブックマーク

Text

重複するブックマーク

[this is {sample] text.}

Bookmark1

This is sample

Bookmark2

sample text.

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

ブックマーク

Text

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

[this is replacement]{ text.}

Bookmark1

This is replacement

Bookmark2

text

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

ブックマーク

Text

重複するブックマーク

[this is {sample} text.]

Bookmark1

This is sample text.

Bookmark2

sample

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

ブックマーク

Text

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

[this is replacement.]{}

Bookmark1

This is replacement.

Bookmark2

<empty>

イベント

次のイベントは Bookmark コントロールで使用できます。

参照

処理手順

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

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

概念

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

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

その他の技術情報

Word ホスト コントロール

Excel のホスト コントロール

履歴の変更

日付

履歴

理由

2008 年 7 月

アプリケーション レベルのプロジェクトでのブックマーク コントロールの使用に関する情報を追加

SP1 機能変更