チュートリアル : 初めての Word 用アプリケーション レベルのアドインの作成
この入門編のチュートリアルでは、Microsoft Office Word 用のアプリケーション レベルのアドインを作成する方法について説明します。 この種のソリューションに作成した機能は、どの文書が開いているかにかかわらず、アプリケーション自体に対して使用できます。
対象: このトピックの情報は、Word 2007 と Word 2010 のアプリケーション レベルのプロジェクトに適用されます。詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。
このチュートリアルでは、次の作業について説明します。
Word アドイン プロジェクトを作成する。
Word のオブジェクト モデルを使用して保存時にテキストを文書に追加するコードを記述する。
プロジェクトをビルドし、実行してテストする。
完成したプロジェクトをクリーンアップして、開発用コンピューターでこのアドインが自動的に実行されないようにする。
注意
お使いのマシンで、Visual Studio ユーザー インターフェイスの一部の要素の名前や場所が、次の手順とは異なる場合があります。 これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。 詳細については、「Visual Studio の設定」を参照してください。
必須コンポーネント
このチュートリアルを実行するには、次のコンポーネントが必要です。
-
Microsoft Office 開発者ツールを含むエディションの Visual Studio 2010。 詳細については、「[Office ソリューションを開発できるようにコンピューターを構成する](bb398242\(v=vs.100\).md)」を参照してください。
- Word 2007 または Word 2010。
プロジェクトの作成
Visual Studio で新しい Word アドイン プロジェクトを作成するには
Visual Studio を起動します。
[ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。
テンプレート ペインで、[Visual C#] または [Visual Basic] を展開し、[Office] を展開します。
展開した [Office] ノードの下で、[2007] ノード (Word 2007 がインストールされている場合) または [2010] ノード (Word 2010 がインストールされている場合) を選択します。
プロジェクト テンプレートの一覧で、[Word 2007 アドイン] または [Word 2010 アドイン] を選択します。
[プロジェクト名] ボックスに「FirstWordAddIn」と入力します。
[OK] をクリックします。
Visual Studio により FirstWordAddIn プロジェクトが作成され、ThisAddIn コード ファイルがエディターで開かれます。
保存する文書にテキストを追加するコードの記述
次に、ThisAddIn コード ファイルにコードを追加します。 この新しいコードでは、Word のオブジェクト モデルを使用して、保存するそれぞれの文書に定型句を追加します。 ThisAddIn コード ファイルには、次のコードが既定で含まれています。
ThisAddIn クラスの部分定義。 このクラスは、コードのエントリ ポイントを提供し、Word のオブジェクト モデルへのアクセスを提供します。 詳細については、「アプリケーション レベルのアドインのプログラミング」を参照してください。 ThisAddIn クラスの残りの部分は、変更することができない非表示のコード ファイルに定義されています。
ThisAddIn_Startup イベント ハンドラーおよび ThisAddIn_Shutdown イベント ハンドラー。 これらのイベント ハンドラーは、Word がアドインを読み込むときとアンロードするときに呼び出されます。 これらのイベント ハンドラーを使用して、読み込まれるときにはアドインを初期化し、アンロードされるときにはアドインが使用したリソースをクリーンアップします。 詳細については、「Office プロジェクトのイベント」を参照してください。
保存する文書にテキストの段落を追加するには
ThisAddIn コード ファイルで、次のコードを ThisAddIn クラスに追加します。 この新しいコードでは、文書が保存されるときに発生する DocumentBeforeSave イベントのイベント ハンドラーを定義します。
ユーザーが文書を保存すると、イベント ハンドラーによって新しいテキストが文書の先頭に追加されます。
Private Sub Application_DocumentBeforeSave(ByVal Doc As Word.Document, ByRef SaveAsUI As Boolean, _ ByRef Cancel As Boolean) Handles Application.DocumentBeforeSave Doc.Paragraphs(1).Range.InsertParagraphBefore() Doc.Paragraphs(1).Range.Text = "This text was added by using code." End Sub
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."; }
注意
このコードでは、インデックス値 1 を使用して、Paragraphs コレクション内の最初の段落にアクセスします。 Visual Basic や Visual C# ではインデックス番号が 0 から始まる配列が使用されますが、Word オブジェクト モデルのほとんどのコレクションでは、配列の下位のインデックスは 1 から始まります。 詳細については、「Office ソリューションでの Visual Basic を使用したプログラミングと Visual C# を使用したプログラミング」を参照してください。
C# を使用している場合は、次の必須のコードを ThisAddIn_Startup イベント ハンドラーに追加します。 このコードは、Application_DocumentBeforeSave イベント ハンドラーを DocumentBeforeSave イベントに接続するために使用します。
this.Application.DocumentBeforeSave += new Word.ApplicationEvents4_DocumentBeforeSaveEventHandler(Application_DocumentBeforeSave);
保存時に文書を変更するために、前のコード例では次のオブジェクトを使用しています。
ThisAddIn クラスの Application フィールド。 Application フィールドは Word の現在のインスタンスを表す Microsoft.Office.Interop.Word.Application オブジェクトを返します。
DocumentBeforeSave イベントのイベント ハンドラーの Doc パラメーター。 Doc パラメーターは、保存される文書を表す Microsoft.Office.Interop.Word.Document オブジェクトです。 詳細については、「Word オブジェクト モデルの概要」を参照してください。
プロジェクトのテスト
プロジェクトをテストするには
F5 キーを押して、プロジェクトをビルドおよび実行します。
プロジェクトをビルドすると、コードはアセンブリにコンパイルされ、プロジェクトのビルド出力フォルダーに保存されます。 さらに Visual Studio は、Word がアドインを検出して読み込むようにする一連のレジストリ エントリを作成し、アドインを実行できるように開発用コンピューター上のセキュリティを設定します。 詳細については、「Office ソリューション ビルド処理の概要」を参照してください。
Word で、アクティブな文書を保存します。
次のテキストが文書に追加されることを確認します。
This text was added by using code.
Word を終了します。
プロジェクトのクリーンアップ
プロジェクトの開発を完了したら、アドイン アセンブリ、レジストリ エントリ、およびセキュリティ設定を開発用コンピューターから削除します。 この操作を行わないと、今後も開発用コンピューター上で Word を起動するたびにアドインが実行されます。
開発用コンピューターから完成したプロジェクトをクリーンアップするには
- Visual Studio で、[ビルド] メニューの [ソリューションのクリーン] をクリックします。
次の手順
Word 用の基本的なアプリケーション レベルのアドインを作成した後は、アドインの作成方法の詳細について、以下のトピックを参照してください。
アドインで実行できる一般的なプログラミング タスク : アプリケーション レベルのアドインのプログラミング
Word アドインに固有のプログラミング タスク : Word ソリューション
Word のオブジェクト モデルの使用 : Word オブジェクト モデルの概要
Word の UI のカスタマイズ (リボンへのカスタム タブの追加、独自のカスタム作業ウィンドウの作成など) : Office UI のカスタマイズ
Word 用のアプリケーション レベルのアドインのビルドとデバッグ : Office ソリューションのビルドとデバッグ
Word 用のアプリケーション レベルのアドインの配置 : Office ソリューションの配置