Word 文書にブックマーク コントロールを追加する

ドキュメント レベルのプロジェクトでは、デザイン時または実行時にプロジェクトの文書に Bookmark コントロールを追加できます。 VSTO アドイン プロジェクトでは、実行時に、開いている任意の文書に Bookmark コントロールを追加できます。

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

このトピックでは、次のタスクについて説明します。

デザイン時に Bookmark コントロールを追加する

デザイン時にドキュメント レベルのプロジェクトの文書に Bookmark コントロールを追加する方法はいくつかあります。

  • Visual Studio の [ツールボックス]を使用する方法。

    Bookmark コントロールは、 [ツールボックス] から文書にドラッグできます。 既に [ツールボックス] を使用して Windows フォーム コントロールを文書に追加している場合は、この方法を選択できます。

  • Word 内から実行する方法。

    ネイティブのブックマークを追加する場合と同じ方法で、文書に Bookmark コントロールを追加できます。 この方法で追加すると、コントロールの作成時にコントロールの名前を指定できるという利点があります。

  • [データ ソース] ウィンドウから実行する方法。

    Bookmark コントロールを [データ ソース] ウィンドウから文書にドラッグできます。 これは、同時にコントロールをデータにバインドする場合に役立ちます。 Windows フォーム コントロールを追加するのと同じ方法で、 [データ ソース] ウィンドウからホスト コントロールを追加できます。 詳細については、「データ連結と Windows フォーム」を参照してください。

    Note

    次の手順で参照している Visual Studio ユーザー インターフェイス要素の一部は、お使いのコンピューターでは名前や場所が異なる場合があります。 これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。 詳細については、「Visual Studio IDE のカスタマイズ」を参照してください。

ツールボックスから文書に Bookmark コントロールを追加するには

  1. [ツールボックス] を開き、 [Word コントロール] タブをクリックします。

  2. Bookmark コントロールを文書にドラッグします。

    [ブックマークの追加] ダイアログ ボックスが表示されます。

  3. ブックマークに含めるテキストまたはその他の項目を選択します。

  4. OK をクリックします。

    ブックマーク名を既定のままにしない場合は、 [プロパティ] ウィンドウで名前を変更します。

Word で文書に Bookmark コントロールを追加するには

  1. Visual Studio デザイナーでホストされている文書で、ブックマークを追加する位置にカーソルを置くか、ブックマークで囲むテキストを選択します。

  2. リボンの [挿入] タブで、 [リンク] グループの [ブックマーク] ボタンをクリックします。

  3. [ブックマーク] ダイアログ ボックスで、新しいブックマークの名前を入力し、 [追加]をクリックします。

ドキュメント レベルのプロジェクトで実行時に Bookmark コントロールを追加する

プロジェクトの Bookmark クラスの Controls プロパティのメソッドを使用して、実行時にプログラムによって文書に ThisDocument コントロールを追加できます。 2 つのメソッド オーバーロードを使用して、次の方法で Bookmark コントロールを追加できます。

  • 指定した範囲に Bookmark を追加する。

  • 文書のネイティブなブックマーク (つまり、 Bookmark ) に基づいて Bookmarkを追加する。

    動的に作成された Bookmark コントロールは、文書を閉じるときに文書に残りません。 ただし、ネイティブな Bookmark は文書に残ります。 ネイティブなブックマークに基づく Bookmark は、次に文書を開いた時点で再作成できます。 詳細については、「実行時に Office 文書にコントロールを追加する」を参照してください。

プログラムによって文書に Bookmark コントロールを追加するには

  1. 文書内の最初の段落に ThisDocument_Startup コントロールを追加するには、次のコードをプロジェクトの Bookmark イベント ハンドラーに挿入します。

    Microsoft.Office.Tools.Word.Bookmark firstParagraph;
    firstParagraph = this.Controls.AddBookmark(this.Paragraphs[1].Range,
        "FirstParagraph");
    

    Note

    既存の Bookmark から Bookmarkコントロールを作成する場合は、 AddBookmark メソッドを使用し、既存の Bookmarkを渡します。

VSTO アドイン プロジェクトで実行時に Bookmark コントロールを追加する

Bookmark コントロールは、実行時に VSTO アドインを使用して任意の開いているドキュメントに追加できます。 そのためには、開いている文書に基づいた Document ホスト項目を生成し、このホスト項目の Controls プロパティのメソッドを使用します。 2 つのメソッド オーバーロードを使用して、次の方法で Bookmark コントロールを追加できます。

指定した範囲に Bookmark コントロールを追加するには

  1. AddBookmark メソッドを使用し、 Range を追加する Bookmarkを渡します。

    作業中の文書の先頭に新しい Bookmark を追加するコード例を次に示します。 この例を使用するには、Word VSTO アドイン プロジェクトの ThisAddIn_Startup イベント ハンドラーからコードを実行します。

    Document extendedDocument = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
    
    
    Bookmark firstParagraph = extendedDocument.Controls.AddBookmark(
        extendedDocument.Paragraphs[1].Range, "FirstParagraph");
    

ネイティブなブックマーク コントロールに基づく Bookmark コントロールを追加するには

  1. AddBookmark メソッドを使用し、新しい Bookmark の基として使用する既存の Bookmarkを渡します。

    作業中の文書の最初の Bookmark に基づく新しい Bookmark を作成するコード例を次に示します。 この例を使用するには、Word VSTO アドイン プロジェクトの ThisAddIn_Startup イベント ハンドラーからコードを実行します。

    if (this.Application.ActiveDocument.Bookmarks.Count > 0)
    {
        object index = 1;
        Word.Bookmark firstBookmark = this.Application.ActiveDocument.Bookmarks.get_Item(ref index);
    
    
         Document extendedDocument = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
    
        Bookmark vstoBookmark = extendedDocument.Controls.AddBookmark(
                firstBookmark, "VSTOBookmark");
    }