この入門チュートリアルでは、Microsoft Office Word のドキュメント レベルのカスタマイズを作成する方法について説明します。 この種類のソリューションで作成する機能は、特定のドキュメントが開いている場合にのみ使用できます。 ドキュメント レベルのカスタマイズを使用してアプリケーション全体を変更することはできません。たとえば、ドキュメントが開いているときに新しいリボン タブを表示する場合などです。
適用対象: このトピックの情報は、Word のドキュメント レベルのプロジェクトに適用されます。 詳細については、「 Office アプリケーションとプロジェクトの種類で使用できる機能」を参照してください。
このチュートリアルでは、次の作業について説明します。
Word 文書プロジェクトの作成。
Visual Studio デザイナーでホストされているドキュメントにテキストを追加する。
Word のオブジェクト モデルを使用して、カスタマイズされた文書を開いたときにテキストを追加するコードを記述する。
プロジェクトをビルドして実行してテストします。
プロジェクトをクリーンアップして、開発用コンピューターから不要なビルド ファイルとセキュリティ設定を削除します。
注
次の手順で参照している Visual Studio ユーザー インターフェイス要素の一部は、お使いのコンピューターでは名前や場所が異なる場合があります。 これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。 詳細については、「IDEのカスタマイズ」を参照してください。
[前提条件]
このチュートリアルを実行するには、次のコンポーネントが必要です。
Microsoft Office 開発者ツールを含む Visual Studio のエディション。 詳細については、「 Office ソリューションを開発するためのコンピューターの構成」を参照してください。
マイクロソフトワード
プロジェクトを作成する
Visual Studio で新しい Word ドキュメント プロジェクトを作成するには
Visual Studio を起動します。
ファイルメニューで、新規をポイントし、プロジェクトをクリックします。
[ 新しいプロジェクトの作成 ] ダイアログで、 Word VSTO ドキュメント プロジェクトを選択します。
注
テンプレートを検索するには、[ 新しいプロジェクトの作成 ] ダイアログの上部にある [検索] テキスト ボックスに 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 コード ファイルには、次の生成されたコードが含まれています。
ドキュメントのプログラミング モデルを表し、Word のオブジェクト モデルへのアクセスを提供する、
ThisDocumentクラスの部分的な定義。 詳細については、「 ドキュメント ホスト項目 と 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."; }注
このコードでは、インデックス値 1 を使用して、 Paragraphs プロパティの最初の段落にアクセスします。 Visual Basic と Visual C# では 0 から始まる配列が使用されますが、Word オブジェクト モデルのほとんどのコレクションの下位の配列境界は 1 です。 詳細については、「 Office ソリューションでコードを記述する」を参照してください。
プロジェクトをテストする
ドキュメントをテストするには
F5 キーを押してプロジェクトをビルドして実行します。
プロジェクトをビルドすると、コードはドキュメントに関連付けられているアセンブリにコンパイルされます。 Visual Studio は、プロジェクトのビルド出力フォルダーにドキュメントとアセンブリのコピーを配置し、カスタマイズを実行できるように開発用コンピューターのセキュリティ設定を構成します。 詳細については、「 Office ソリューションのビルド」を参照してください。
ドキュメントで、次のテキストが表示されることを確認します。
このテキストはデザイナーを使用して追加されました。
このテキストはコードを使用して追加されました。
文書を閉じます。
プロジェクトをクリーンアップする
プロジェクトの開発が完了したら、ビルド出力フォルダー内のファイルと、ビルド プロセスによって作成されたセキュリティ設定を削除する必要があります。
開発用コンピューターで完成したプロジェクトをクリーンアップするには
- Visual Studio の [ ビルド ] メニューの [ クリーン ソリューション] をクリックします。
次のステップ
Word の基本的なドキュメント レベルのカスタマイズを作成したら、次のトピックからカスタマイズを開発する方法の詳細を確認できます。
ドキュメント レベルのカスタマイズで実行できる一般的なプログラミング タスク: ドキュメント レベルのカスタマイズをプログラムします。
Word: Word ソリューションのドキュメント レベルのカスタマイズに固有のプログラミング タスク。
Word のオブジェクト モデルの使用: Word オブジェクト モデルの概要。
たとえば、リボンにカスタム タブを追加したり、独自の操作ウィンドウを作成したりして、Word の UI をカスタマイズする: Office UI のカスタマイズ。
Visual Studio の Office ソリューションによって提供される拡張 Word オブジェクトを使用して、Word オブジェクト モデルを使用して不可能なタスクを実行します (たとえば、ドキュメントでのマネージド コントロールのホストや、Windows フォーム データ バインディング モデルを使用したデータへの Word コントロールのバインド): 拡張オブジェクトを使用して Word を自動化します。
Word のドキュメント レベルのカスタマイズのビルドとデバッグ: Office ソリューションをビルドします。
Word のドキュメント レベルのカスタマイズの 展開: Office ソリューションを展開します。