チュートリアル: Word のドキュメント レベルのカスタマイズを初めて作成する
この入門編のチュートリアルでは、Microsoft Office Word 用のドキュメント レベルのカスタマイズを作成する方法について説明します。 この種のソリューションで作成した機能は、特定の文書が開いている場合にのみ使用可能です。 ドキュメント レベルのカスタマイズでは、文書が開いたときに新しいリボン タブを表示するなどの、アプリケーション全体の変更を行うことはできません。
適用対象: このトピックの情報は、Word のドキュメント レベルのプロジェクトに適用されます。 詳細については、「Office アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。
このチュートリアルでは、次の作業について説明します。
新しい Word 文書プロジェクトを作成する。
Visual Studio デザイナーでホストされるドキュメントにテキストを追加する。
Word のオブジェクト モデルを使用して、カスタマイズされた文書が開かれたときにテキストを追加するコードを記述する。
プロジェクトをビルドし、実行してテストする。
プロジェクトをクリーンアップして、不要なビルド ファイルやセキュリティ設定を開発用コンピューターから削除する。
Note
次の手順で参照している Visual Studio ユーザー インターフェイス要素の一部は、お使いのコンピューターでは名前や場所が異なる場合があります。 これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。 詳細については、「Visual Studio IDE のカスタマイズ」を参照してください。
必須コンポーネント
このチュートリアルを実行するには、次のコンポーネントが必要です。
Microsoft Office Developer Tools が含まれている Visual Studio のエディション。 詳細については、「Office ソリューションを開発できるようにコンピューターを構成する」を参照してください。
Microsoft Word
プロジェクトを作成する
Visual Studio で新しい Word 文書プロジェクトを作成するには
Visual Studio を起動します。
[ファイル] メニューの [新規作成] をポイントし、 [プロジェクト] をクリックします。
[新しいプロジェクトを作成] ダイアログで、[Word VSTO ドキュメント] プロジェクトを選択します。
Note
[新しいプロジェクトの作成] ダイアログの上部にある [検索] テキスト ボックスに Office 製品の名前を入力して、テンプレートを検索することもできます。 たとえば、「Excel」と入力すると、Excel のすべてのプロジェクト テンプレートが表示されます。 また、[プロジェクトの種類] ドロップダウン ボックスで [Office] を選択して、Office のテンプレートのみを表示するようにテンプレートの一覧をフィルターすることもできます。 詳細については、「Visual Studio で新しいプロジェクトを作成する」を参照してください。
次へ をクリックします。
[新しいプロジェクトを構成します] ダイアログの [名前] ボックスに「FirstWorkbookCustomization」と入力し、[作成] をクリックします。
Visual Studio Tools for Office プロジェクト ウィザードで [新しいドキュメントを作成] を選択し、[OK] をクリックします。
- Visual Studio によって FirstDocumentCustomization プロジェクトが作成され、FirstDocumentCustomization ドキュメントと ThisDocument コード ファイルがプロジェクトに追加されます。 FirstDocumentCustomization ドキュメントがデザイナーで自動的に開かれます。
デザイナーで文書を閉じて再び開く
プロジェクトの開発中にデザイナーで開いたドキュメントを意図的にまたは誤って閉じた場合は、そのドキュメントを再び開くことができます。
デザイナーで文書を閉じ、再び開くには
デザイナー ウィンドウの [閉じる] ボタン (X) をクリックしてドキュメントを閉じます。
ソリューション エクスプローラーで、ThisDocument コード ファイルを右クリックし、[デザイナーの表示] をクリックします。
または
ソリューション エクスプローラーで、ThisDocument コード ファイルをダブルクリックします。
デザイナーでドキュメントにテキストを追加する
デザイナーで開いたドキュメントを変更することで、カスタマイズのユーザー インターフェイス (UI) をデザインできます。 たとえば、テキスト、テーブル、または Word コントロールを追加できます。 デザイナーの使用方法について詳しくは、「Visual Studio 環境における Office プロジェクト」をご覧ください。
デザイナーを使用してドキュメントにテキストを追加するには
デザイナーで開いているドキュメントに次のテキストを入力します。
このテキストはデザイナーを使用して追加されました。
プログラムによってドキュメントにテキストを追加する
次に、ThisDocument コード ファイルにコードを追加します。 この新しいコードでは、Word のオブジェクト モデルを使用して、ドキュメントに 2 番目のテキスト段落を追加します。 ThisDocument コード ファイルには、既定で次の生成済みコードが含まれています。
ThisDocument
クラスの部分定義。このクラスは、ドキュメントのプログラミング モデルを表し、Word のオブジェクト モデルへのアクセスを提供します。 詳しくは、「Document ホスト項目」および「Word オブジェクト モデルの概要」をご覧ください。ThisDocument
クラスの残りの部分は、変更することができない非表示のコード ファイルに定義されています。ThisDocument_Startup
およびThisDocument_Shutdown
イベント ハンドラー。 これらのイベント ハンドラーは、ドキュメントが開いたとき、および閉じたときに呼び出されます。 これらのイベント ハンドラーを使用して、ドキュメントが開いたときにカスタマイズを初期化し、ドキュメントが閉じたときにカスタマイズが使用したリソースをクリーンアップします。 詳細については、「Office プロジェクトのイベント」を参照してください。
コードを使用してドキュメントに 2 番目のテキスト段落を追加するには
ソリューション エクスプローラーで ThisDocument を右クリックし、[コードの表示] をクリックします。
Visual Studio でコード ファイルが開かれます。
ThisDocument_Startup
イベント ハンドラーを次のコードで置き換えます。 ドキュメントが開かれると、この新しいコードにより、2 番目のテキスト段落がドキュメントに追加されます。private void ThisDocument_Startup(object sender, System.EventArgs e) { this.Paragraphs[1].Range.InsertParagraphAfter(); this.Paragraphs[2].Range.Text = "This text was added by using code."; }
Note
このコードでは、インデックス値 1 を使用して Paragraphs プロパティ内の最初の段落にアクセスします。 Visual Basic および Visual C# ではインデックスが 0 から始まる配列が使用されますが、Word オブジェクト モデルのほとんどのコレクションでは配列の下限のインデックスが 1 から始まります。 詳しくは、「Office ソリューションでコードを書く」をご覧ください。
プロジェクトをテストする
文書をテストするには
F5 キーを押して、プロジェクトをビルドおよび実行します。
プロジェクトをビルドすると、コードがアセンブリにコンパイルされ、ドキュメントに関連付けられます。 Visual Studio は、ドキュメントとアセンブリのコピーをプロジェクトのビルド出力フォルダーに格納し、カスタマイズを実行できるように開発用コンピューターのセキュリティ設定を行います。 詳細については、「Office ソリューションのビルド」を参照してください。
次のテキストがドキュメントに表示されることを確認します。
このテキストはデザイナーを使用して追加されました。
This text was added by using code.
ドキュメントを閉じます。
プロジェクトをクリーンアップする
プロジェクトの開発が完了したら、ビルド プロセスによって作成されたビルド出力フォルダー内のファイルおよびセキュリティ設定を削除する必要があります。
開発用コンピューターから完成したプロジェクトをクリーンアップするには
- Visual Studio で、 [ビルド] メニューの [ソリューションのクリーン]をクリックします。
次のステップ
Word 用の基本的なドキュメント レベルのカスタマイズを作成した後は、カスタマイズの開発方法の詳細について、以下のトピックを参照してください。
ドキュメント レベルのカスタマイズで実行できる一般的なプログラミング タスク: ドキュメント レベルのカスタマイズのプログラミング。
Word 用のドキュメント レベルのカスタマイズに固有のプログラミング タスク: Word ソリューション。
Word のオブジェクト モデルの使用: Word オブジェクト モデルの概要。
Word の UI のカスタマイズ (リボンへのカスタム タブの追加や、独自のカスタム作業ウィンドウの作成など): Office UI のカスタマイズ。
Visual Studio の Office ソリューションで提供される拡張 Word オブジェクトを使用して、Word オブジェクト モデルを使用して実行できないタスクを実行する (たとえば、ドキュメント上でマネージド コントロールをホストする、Windows フォーム データ バインディング モデルを使用して Word コントロールをデータにバインドするなど): 拡張オブジェクトを使用して Word を自動化する。
Word 用のドキュメント レベルのカスタマイズのビルドとデバッグ: Office ソリューションをビルドする。
Word 用のドキュメント レベルのカスタマイズの配置: Office ソリューションを配置する。