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