チュートリアル: 初めての Word 用 VSTO アドインを作成する
この入門チュートリアルでは、Microsoft Office Word 用の VSTO アドインを作成する方法について説明します。 この種のソリューションに作成した機能は、どのドキュメントが開いているかにかかわらず、アプリケーション自体に対して使用できます。
適用対象: このトピックの情報は、Word の VSTO アドインのプロジェクトに適用されます。 詳細については、「Office アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。
このチュートリアルでは、次の作業について説明します。
Word VSTO アドイン プロジェクトの作成
Word のオブジェクト モデルを使用して、保存時にテキストをドキュメントに追加するコードを記述する。
プロジェクトをビルドし、実行してテストする。
完成したプロジェクトをクリーンアップして、開発用コンピューターでこの VSTO アドインが自動的に実行されないようにする。
Note
次の手順で参照している Visual Studio ユーザー インターフェイス要素の一部は、お使いのコンピューターでは名前や場所が異なる場合があります。 これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。 詳細については、「Visual Studio IDE のカスタマイズ」を参照してください。
必須コンポーネント
このチュートリアルを実行するには、次のコンポーネントが必要です。
Microsoft Office Developer Tools が含まれている Visual Studio のエディション。 詳細については、「Office ソリューションを開発できるようにコンピューターを構成する」を参照してください。
Microsoft Word
プロジェクトを作成する
Visual Studio で新しい Word VSTO アドイン プロジェクトを作成するには
Visual Studio を起動します。
[ファイル] メニューの [新規作成] をポイントし、 [プロジェクト] をクリックします。
テンプレート ペインで、 [Visual C#] または [Visual Basic]を展開してから、 [Office/SharePoint]を展開します。
展開した [Office/SharePoint] ノードの下で、 [Office Add-ins] ノードを選択します。
プロジェクト テンプレートの一覧で、Word VSTO アドイン プロジェクトを選択します。
[名前] ボックスに、「FirstWordAddIn」と入力します。
OK をクリックします。
Visual Studio により FirstWordAddIn プロジェクトが作成され、ThisAddIn コード ファイルがエディターで開きます。
保存する文書にテキストを追加するコードを書く
次に、ThisAddIn コード ファイルにコードを追加します。 この新しいコードでは、Word のオブジェクト モデルを使用して、保存する各ドキュメントに定型のテキストを追加します。 ThisAddIn コード ファイルには、次の生成コードが既定で含まれています。
ThisAddIn
クラスの部分定義。 このクラスは、コードのエントリ ポイントを提供し、Word のオブジェクト モデルへのアクセスを提供します。 詳しくは、「VSTO アドインのプログラミング」をご覧ください。ThisAddIn
クラスの残りの部分は、変更することができない非表示のコード ファイルに定義されています。ThisAddIn_Startup
およびThisAddIn_Shutdown
イベント ハンドラー。 これらのイベント ハンドラーは、Word が VSTO アドインを読み込むときとアンロードするときに呼び出されます。 これらのイベント ハンドラーを使用して、VSTO アドインを読み込むときに初期化し、VSTO アドインがアンロードされるときには使用したリソースをクリーンアップします。 詳細については、「Office プロジェクトのイベント」を参照してください。
保存するドキュメントにテキストの段落を追加するには
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 ソリューションでコードを書く」をご覧ください。
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 オブジェクト モデルの概要」を参照してください。
プロジェクトをテストする
プロジェクトをテストするには
F5 キーを押して、プロジェクトをビルドおよび実行します。
プロジェクトをビルドすると、プロジェクトのビルド出力フォルダーに含まれるアセンブリにコードがコンパイルされます。 さらに Visual Studio は、Word が VSTO アドインを検出して読み込めるようにする一連のレジストリ エントリを作成し、VSTO アドインを実行できるように開発用コンピューター上のセキュリティを設定します。 詳細については、「Office ソリューションのビルド」を参照してください。
Word で作業中のドキュメントを保存します。
次のテキストがドキュメントに追加されていることを確認します。
This text was added by using code.
Word を閉じます。
プロジェクトをクリーンアップする
プロジェクトの開発が完了したら、VSTO アドイン アセンブリ、レジストリ エントリ、およびセキュリティ設定を開発用コンピューターから削除します。 そうしないと、開発用コンピューター上で Word を起動するたびに VSTO アドインが実行され続けます。
開発用コンピューターから完成したプロジェクトをクリーンアップするには
- Visual Studio で、 [ビルド] メニューの [ソリューションのクリーン]をクリックします。
次のステップ
これで Word 用の基本的な VSTO アドインが作成されました。VSTO アドインの開発方法の詳細について、以下のトピックを参照してください。
VSTO アドインで実行できる一般的なプログラミング タスク: VSTO アドインのプログラミング。
Word VSTO アドインに固有のプログラミング タスク: Word ソリューション。
Word のオブジェクト モデルの使用: Word オブジェクト モデルの概要。
Word の UI のカスタマイズ (リボンへのカスタム タブの追加や独自のカスタム作業ウィンドウの作成など): Office UI のカスタマイズ。
Word 用 VSTO アドインのビルドとデバッグ: Office ソリューションのビルド。
Word 用の VSTO アドインの配置: Office ソリューションを配置する。