チュートリアル : 初めての Word 用アプリケーション レベルのアドインの作成
この入門編のチュートリアルでは、Microsoft Office Word 用のアプリケーション レベルのアドインを作成する方法について説明します。この種のソリューションに作成した機能は、どの文書が開いているかにかかわらず、アプリケーション自体に対して使用できます。
対象: このトピックの情報は、Word 2013 と Word 2010 のアプリケーション レベルのプロジェクトに適用されます。詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。
このチュートリアルでは、次の作業について説明します。
Word アドイン プロジェクトを作成する。
Word のオブジェクト モデルを使用して保存時にテキストを文書に追加するコードを記述する。
プロジェクトをビルドし、実行してテストする。
完成したプロジェクトをクリーンアップして、開発用コンピューターでこのアドインが自動的に実行されないようにする。
[!メモ]
お使いのマシンで、Visual Studio ユーザー インターフェイスの一部の要素の名前や場所が、次の手順とは異なる場合があります。これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。詳細については、「Visual Studio の設定」を参照してください。
必須コンポーネント
このチュートリアルを実行するには、次のコンポーネントが必要です。
-
Microsoft Office Developer Tools が含まれているエディションの Visual Studio 2012。詳細については、「[Office ソリューションを開発できるようにコンピューターを構成する](bb398242\(v=vs.110\).md)」を参照してください。
- Word 2013 または Word 2010。
プロジェクトの作成
Visual Studio で新しい Word アドイン プロジェクトを作成するには
Visual Studio を起動します。
[ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。
テンプレート ペインで、または [Visual C#] **[Visual Basic]を展開し、[Office/SharePoint]**を展開します。
[Office/SharePoint] の展開したノードの下で、[Office Add-ins] のノードを選択します。
プロジェクト テンプレートの一覧で、[Word 2010 アドイン] または [Word 2013 アドイン] を選択します。
[プロジェクト名] ボックスに「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 ソリューションのコードの記述」を参照してください。
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 ソリューションの配置