チュートリアル: 初めての Word 用 VSTO アドインを作成する

この入門チュートリアルでは、Microsoft Office Word 用の VSTO アドインを作成する方法について説明します。 この種のソリューションに作成した機能は、どのドキュメントが開いているかにかかわらず、アプリケーション自体に対して使用できます。

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

このチュートリアルでは、次の作業について説明します。

  • Word VSTO アドイン プロジェクトの作成

  • Word のオブジェクト モデルを使用して、保存時にテキストをドキュメントに追加するコードを記述する。

  • プロジェクトをビルドし、実行してテストする。

  • 完成したプロジェクトをクリーンアップして、開発用コンピューターでこの VSTO アドインが自動的に実行されないようにする。

    Note

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

必須コンポーネント

このチュートリアルを実行するには、次のコンポーネントが必要です。

プロジェクトを作成する

Visual Studio で新しい Word VSTO アドイン プロジェクトを作成するには

  1. Visual Studio を起動します。

  2. [ファイル] メニューの [新規作成] をポイントし、 [プロジェクト] をクリックします。

  3. テンプレート ペインで、 [Visual C#] または [Visual Basic]を展開してから、 [Office/SharePoint]を展開します。

  4. 展開した [Office/SharePoint] ノードの下で、 [Office Add-ins] ノードを選択します。

  5. プロジェクト テンプレートの一覧で、Word VSTO アドイン プロジェクトを選択します。

  6. [名前] ボックスに、「FirstWordAddIn」と入力します。

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

    Visual Studio により FirstWordAddIn プロジェクトが作成され、ThisAddIn コード ファイルがエディターで開きます。

保存する文書にテキストを追加するコードを書く

次に、ThisAddIn コード ファイルにコードを追加します。 この新しいコードでは、Word のオブジェクト モデルを使用して、保存する各ドキュメントに定型のテキストを追加します。 ThisAddIn コード ファイルには、次の生成コードが既定で含まれています。

  • ThisAddIn クラスの部分定義。 このクラスは、コードのエントリ ポイントを提供し、Word のオブジェクト モデルへのアクセスを提供します。 詳しくは、「VSTO アドインのプログラミング」をご覧ください。ThisAddIn クラスの残りの部分は、変更することができない非表示のコード ファイルに定義されています。

  • ThisAddIn_Startup および ThisAddIn_Shutdown イベント ハンドラー。 これらのイベント ハンドラーは、Word が VSTO アドインを読み込むときとアンロードするときに呼び出されます。 これらのイベント ハンドラーを使用して、VSTO アドインを読み込むときに初期化し、VSTO アドインがアンロードされるときには使用したリソースをクリーンアップします。 詳細については、「Office プロジェクトのイベント」を参照してください。

保存するドキュメントにテキストの段落を追加するには

  1. ThisAddIn コード ファイルで、次のコードを ThisAddIn クラスに追加します。 この新しいコードでは、ドキュメントが保存されるときに発生する DocumentBeforeSave イベントのイベント ハンドラーを定義します。

    ユーザーがドキュメントを保存すると、イベント ハンドラーによって新しいテキストがドキュメントの先頭に追加されます。

    void Application_DocumentBeforeSave(Word.Document Doc, ref bool SaveAsUI, ref bool Cancel)
    {
        Doc.Paragraphs[1].Range.InsertParagraphBefore();
        Doc.Paragraphs[1].Range.Text = "This text was added by using code.";
    }
    

    Note

    このコードでは、インデックス値 1 を使用して Paragraphs コレクション内の最初の段落にアクセスします。 Visual Basic および Visual C# ではインデックスが 0 から始まる配列が使用されますが、Word オブジェクト モデルのほとんどのコレクションでは配列の下限のインデックスが 1 から始まります。 詳しくは、「Office ソリューションでコードを書く」をご覧ください。

  2. C# を使用する場合は、次の必要なコードを ThisAddIn_Startup イベント ハンドラーに追加します。 このコードは、 Application_DocumentBeforeSave イベント ハンドラーを DocumentBeforeSave イベントに接続するために使用します。

    this.Application.DocumentBeforeSave += 
        new Word.ApplicationEvents4_DocumentBeforeSaveEventHandler(Application_DocumentBeforeSave);
    

    保存時にドキュメントを変更するために、前のコード例では次のオブジェクトを使用しています。

  • Application クラスの ThisAddIn フィールド。 Application フィールドは Word の現在のインスタンスを表す Application オブジェクトを返します。

  • Doc イベントのイベント ハンドラーの DocumentBeforeSave パラメーター。 Doc パラメーターは、保存されるドキュメントを表す Document オブジェクトです。 詳細については、「Word オブジェクト モデルの概要」を参照してください。

プロジェクトをテストする

プロジェクトをテストするには

  1. F5 キーを押して、プロジェクトをビルドおよび実行します。

    プロジェクトをビルドすると、プロジェクトのビルド出力フォルダーに含まれるアセンブリにコードがコンパイルされます。 さらに Visual Studio は、Word が VSTO アドインを検出して読み込めるようにする一連のレジストリ エントリを作成し、VSTO アドインを実行できるように開発用コンピューター上のセキュリティを設定します。 詳細については、「Office ソリューションのビルド」を参照してください。

  2. Word で作業中のドキュメントを保存します。

  3. 次のテキストがドキュメントに追加されていることを確認します。

    This text was added by using code.

  4. Word を閉じます。

プロジェクトをクリーンアップする

プロジェクトの開発が完了したら、VSTO アドイン アセンブリ、レジストリ エントリ、およびセキュリティ設定を開発用コンピューターから削除します。 そうしないと、開発用コンピューター上で Word を起動するたびに VSTO アドインが実行され続けます。

開発用コンピューターから完成したプロジェクトをクリーンアップするには

  1. Visual Studio で、 [ビルド] メニューの [ソリューションのクリーン]をクリックします。

次のステップ

これで Word 用の基本的な VSTO アドインが作成されました。VSTO アドインの開発方法の詳細について、以下のトピックを参照してください。