方法 : Word 文書に Bookmark コントロールを追加する
更新 : 2008 年 7 月
対象 |
---|
このトピックの情報は、指定された Visual Studio Tools for Office プロジェクトおよび Microsoft Office のバージョンにのみ適用されます。 ドキュメント レベルのプロジェクト
アプリケーション レベルのプロジェクト
詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。 |
ドキュメント レベルのプロジェクトでは、デザイン時または実行時にプロジェクトの文書に Bookmark コントロールを追加できます。Visual Studio 2008 Service Pack 1 (SP1) より、Word 2007 用のアプリケーション レベルのアドインを使用して、実行時に Bookmark コントロールを任意の開いている文書に追加することもできるようになりました。
このトピックでは、次のタスクについて説明します。
デザイン時に Bookmark コントロールを追加する
実行時に Bookmark コントロールをドキュメント レベルのプロジェクトに追加する
実行時に Bookmark コントロールをアプリケーション レベルのプロジェクトに追加する
Bookmark コントロールの詳細については、「Bookmark コントロール」を参照してください。
デザイン時に Bookmark コントロールを追加する
デザイン時にドキュメント レベルのプロジェクトの文書に Bookmark コントロールを追加する方法はいくつかあります。
Visual Studio の [ツールボックス] を使用する方法
ツールボックスから文書へ、Bookmark コントロールをドラッグできます。既にツールボックスを使用して Windows フォーム コントロールを文書に追加している場合は、この方法を選択できます。
Word から行う方法
ネイティブのブックマークを追加する場合と同じ方法で、文書に Bookmark コントロールを追加できます。この方法で追加する場合、コントロールの作成時にコントロールの名前を指定できるという利点があります。
[データ ソース] ウィンドウから行う方法
[データ ソース] ウィンドウから文書へ、Bookmark コントロールをドラッグできます。これは、同時にコントロールをデータにバインドする場合に役立ちます。Windows フォーム コントロールを追加するのと同じ方法で、[データ ソース] ウィンドウからホスト コントロールを追加できます。詳細については、「データ連結と Windows フォーム」を参照してください。
メモ : |
---|
お使いのマシンで、Visual Studio ユーザー インターフェイスの一部の要素の名前や場所が、次の手順とは異なる場合があります。これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。詳細については、「Visual Studio の設定」を参照してください。 |
ツールボックスから文書に Bookmark コントロールを追加するには
ツールボックスを開き、[Word コントロール] タブをクリックします。
Bookmark コントロールを文書にドラッグします。
[ブックマーク コントロールの追加] ダイアログ ボックスが表示されます。
ブックマークに含めるテキストまたはその他の項目を選択します。
[OK] をクリックします。
ブックマーク名を既定のままにしない場合は、[プロパティ] ウィンドウで名前を変更します。
Word で Bookmark コントロールを文書に追加するには
Visual Studio デザイナでホストされている文書で、ブックマークを配置する位置にカーソルを置くか、ブックマークで囲むテキストを選択します。
次のいずれかの操作を実行します。
Word 2003 の場合 : [挿入] メニューの [ブックマーク] をクリックします。
Word 2007 の場合 : リボンの [挿入] タブの [リンク] グループで [ブックマーク] をクリックします。
[ブックマーク] ダイアログ ボックスで、新しいブックマークの名前を入力し、[追加] をクリックします。
実行時に Bookmark コントロールをドキュメント レベルのプロジェクトに追加する
プロジェクトの ThisDocument クラスの Controls プロパティのメソッドを使用して、実行時にプログラムによって Bookmark コントロールを文書に追加できます。2 つのメソッド オーバーロードを使用して、次の方法で Bookmark コントロールを追加できます。
指定した範囲に Bookmark を追加する。
文書内のネイティブなブックマーク (つまり、Microsoft.Office.Interop.Word.Bookmark) に基づく Bookmark を追加する。
動的に作成した Bookmark コントロールは、ドキュメントを閉じるとドキュメントに保持されません。ただし、ネイティブな Microsoft.Office.Interop.Word.Bookmark は文書に残ります。次に文書を開いたときに、ネイティブなブックマークに基づく Bookmark を再作成できます。詳細については、「実行時の Office ドキュメントへのコントロールの追加」を参照してください。
プログラムによって、文書に Bookmark コントロールを追加するには
文書内の最初の段落に Bookmark コントロールを追加する以下のコードをプロジェクトの ThisDocument_Startup イベント ハンドラに挿入します。
Dim firstParagraph As Microsoft.Office.Tools.Word.Bookmark firstParagraph = Me.Controls.AddBookmark(Me.Paragraphs(1).Range, "FirstParagraph")
Microsoft.Office.Tools.Word.Bookmark firstParagraph; firstParagraph = this.Controls.AddBookmark(this.Paragraphs[1].Range, "FirstParagraph");
メモ : 既存の Microsoft.Office.Interop.Word.Bookmark から Microsoft.Office.Tools.Word.Bookmark コントロールを作成する場合、AddBookmark メソッドを使用し、既存の Microsoft.Office.Interop.Word.Bookmark を渡します。
実行時に Bookmark コントロールをアプリケーション レベルのプロジェクトに追加する
SP1 より、アプリケーション レベルのアドインを使用して、プログラムによって実行時に Bookmark コントロールを任意の開いている文書に追加できるようになりました。これを行うには、開いている文書に基づく Document ホスト項目を生成し、このホスト項目の Controls プロパティのメソッドを使用します。2 つのメソッド オーバーロードを使用して、次の方法で Bookmark コントロールを追加できます。
指定した範囲に Bookmark を追加する。
文書内のネイティブなブックマーク (つまり、Microsoft.Office.Interop.Word.Bookmark) に基づく Bookmark を追加する。
動的に作成した Bookmark コントロールは、ドキュメントを閉じるとドキュメントに保持されません。ただし、ネイティブな Microsoft.Office.Interop.Word.Bookmark は文書に残ります。次に文書を開いたときに、ネイティブなブックマークに基づく Bookmark を再作成できます。詳細については、「Office ドキュメントでのダイナミック コントロールの永続化」を参照してください。
アプリケーション レベルのプロジェクトでホスト項目を生成する方法の詳細については、「アプリケーション レベルのアドインにおける実行時の Word 文書や Excel ブックの拡張」を参照してください。
指定した範囲に Bookmark コントロールを追加するには
ControlCollection.AddBookmark(Range, String) メソッドを使用して、Bookmark を追加する Range を渡します。
アクティブ ドキュメントの先頭に新しい Bookmark を追加するコード例を次に示します。この例を使用するには、Word アドイン プロジェクトの ThisAddIn_Startup イベント ハンドラからコードを実行します。
Dim extendedDocument As Document = Me.Application.ActiveDocument.GetVstoObject() Dim firstParagraph As Bookmark = extendedDocument.Controls.AddBookmark( _ extendedDocument.Paragraphs(1).Range, "FirstParagraph")
Document extendedDocument = this.Application.ActiveDocument.GetVstoObject(); Bookmark firstParagraph = extendedDocument.Controls.AddBookmark( extendedDocument.Paragraphs[1].Range, "FirstParagraph");
ネイティブな Bookmark コントロールに基づく Bookmark コントロールを追加するには
ControlCollection.AddBookmark(Bookmark, String) メソッドを使用して、新しい Bookmark の基として使用する既存の Microsoft.Office.Interop.Word.Bookmark を渡します。
アクティブ ドキュメントの最初の Microsoft.Office.Interop.Word.Bookmark に基づく新しい Bookmark を作成するコード例を次に示します。この例を使用するには、Word アドイン プロジェクトの ThisAddIn_Startup イベント ハンドラからコードを実行します。
If Me.Application.ActiveDocument.Bookmarks.Count > 0 Then Dim firstBookmark As Word.Bookmark = Me.Application.ActiveDocument.Bookmarks(1) Dim extendedDocument As Document = Me.Application.ActiveDocument.GetVstoObject() Dim vstoBookmark As Bookmark = extendedDocument.Controls.AddBookmark( _ firstBookmark, "VSTOBookmark") End If
if (this.Application.ActiveDocument.Bookmarks.Count > 0) { object index = 1; Word.Bookmark firstBookmark = this.Application.ActiveDocument.Bookmarks.get_Item(ref index); Document extendedDocument = this.Application.ActiveDocument.GetVstoObject(); Bookmark vstoBookmark = extendedDocument.Controls.AddBookmark( firstBookmark, "VSTOBookmark"); }
参照
処理手順
概念
ホスト項目およびホスト コントロールのプログラム上の制限事項
その他の技術情報
変更履歴
日付 |
履歴 |
理由 |
---|---|---|
2008 年 7 月 |
アプリケーション レベルのアドインに関する新しい手順を追加 |
SP1 機能変更 |