チュートリアル : 初めての Excel 用ドキュメント レベルのカスタマイズの作成
この入門編のチュートリアルでは、Microsoft Office Excel 用のドキュメント レベルのカスタマイズを作成する方法について説明します。この種のソリューションに作成した機能は、特定のブックが開いている場合にのみ使用できます。ドキュメント レベルのカスタマイズでは、ブックが開いたときに新しいリボン タブを表示するなどの、アプリケーション全体の変更を行うことはできません。
対象: このトピックの情報は、Excel 2013 と Excel 2010 のドキュメント レベルのプロジェクトに適用されます。詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。
このチュートリアルでは、次の作業について説明します。
Excel ブック プロジェクトを作成する。
Visual Studio デザイナーでホストされるワークシートにテキストを追加する。
Excel のオブジェクト モデルを使用して、カスタマイズされたワークシートが開かれるときにテキストを追加するコードを記述する。
プロジェクトをビルドし、実行してテストする。
完成したプロジェクトをクリーンアップして、不必要なビルド ファイルおよびセキュリティ設定を開発用コンピューターから削除する。
[!メモ]
お使いのマシンで、Visual Studio ユーザー インターフェイスの一部の要素の名前や場所が、次の手順とは異なる場合があります。これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。詳細については、「Visual Studio の設定」を参照してください。
必須コンポーネント
このチュートリアルを実行するには、次のコンポーネントが必要です。
-
Microsoft Office Developer Tools が含まれているエディションの Visual Studio 2012。詳細については、「[Office ソリューションを開発できるようにコンピューターを構成する](bb398242\(v=vs.110\).md)」を参照してください。
- Excel 2013 または Excel 2010。
プロジェクトの作成
Visual Studio で新しい Excel ブック プロジェクトを作成するには
Visual Studio を起動します。
[ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。
テンプレート ペインで、または [Visual C#] **[Visual Basic]を展開し、[Office/SharePoint]**を展開します。
[Office/SharePoint] の展開したノードの下で、[Office Add-ins] のノードを選択します。
プロジェクト テンプレートの一覧で、[Excel 2010 ブック] または [Excel 2013 ブック] を選択します。
[プロジェクト名] ボックスに「FirstWorkbookCustomization」と入力します。
[OK] をクリックします。
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: User Interface) をデザインできます。たとえば、セルへのテキストの追加、数式の適用、Excel コントロールの追加などを行うことができます。デザイナーを使用する方法の詳細については、「Visual Studio 環境における Office プロジェクト」を参照してください。
デザイナーを使用してワークシートにテキストを追加するには
デザイナーで開いたワークシートで、セル A1 を選択し、次のテキストを入力します。
This text was added by using the designer.
注意 |
---|
このテキスト行をセル A2 に追加すると、この例の他のコードによって上書きされます。 |
プログラムによるワークシートへのテキストの追加
次に、Sheet1 コード ファイルにコードを追加します。この新しいコードでは、Excel のオブジェクト モデルを使用して、ブックに 2 番目のテキスト行を追加します。Sheet1 コード ファイルには、次のコードが既定で含まれています。
Sheet1 クラスの部分定義。このクラスは、ワークシートのプログラミング モデルを表し、Excel のオブジェクト モデルへのアクセスを提供します。詳細については、「Worksheet ホスト項目」および「Word オブジェクト モデルの概要」を参照してください。Sheet1 クラスの残りの部分は、変更することができない非表示のコード ファイルに定義されています。
Sheet1_Startup イベント ハンドラーおよび Sheet1_Shutdown イベント ハンドラー。これらのイベント ハンドラーは、Excel がカスタマイズを読み込むときとアンロードするときに呼び出されます。これらのイベント ハンドラーを使用して、読み込まれるときにはカスタマイズを初期化し、アンロードされるときにはカスタマイズが使用したリソースをクリーンアップします。詳細については、「Office プロジェクトのイベント」を参照してください。
コードを使用してワークシートに 2 番目のテキスト行を追加するには
ソリューション エクスプローラーで、Sheet1 を右クリックし、[コードの表示] をクリックします。
Visual Studio でコード ファイルが開かれます。
Sheet1_Startup イベント ハンドラーを次のコードで置き換えます。Sheet1 が開かれると、この新しいコードにより、2 番目のテキスト行がワークシートに追加されます。
Private Sub Sheet1_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup Dim nr As Microsoft.Office.Tools.Excel.NamedRange = _ Me.Controls.AddNamedRange(Me.Range("A2"), "NamedRange1") nr.Value2 = "This text was added by using code" End Sub
private void Sheet1_Startup(object sender, System.EventArgs e) { Microsoft.Office.Tools.Excel.NamedRange nr = this.Controls.AddNamedRange(this.Range["A2"], "NamedRange1"); nr.Value2 = "This text was added by using code"; }
プロジェクトのテスト
ブックをテストするには
F5 キーを押して、プロジェクトをビルドおよび実行します。
プロジェクトをビルドすると、コードはアセンブリにコンパイルされ、ブックに関連付けられます。Visual Studio は、ブックおよびアセンブリのコピーをプロジェクトのビルド出力フォルダーに格納し、カスタマイズを実行できるように開発用コンピューター上のセキュリティ設定を行います。詳細については、「Office ソリューションのビルド」を参照してください。
次のテキストがブックに追加されることを確認します。
This text was added by using the designer.
This text was added by using code.
ブックを閉じます。
プロジェクトのクリーンアップ
プロジェクトの開発が完了したら、ビルド プロセスによって作成されたビルド出力フォルダー内のファイルおよびセキュリティ設定を削除する必要があります。
開発用コンピューターから完成したプロジェクトをクリーンアップするには
- Visual Studio で、[ビルド] メニューの [ソリューションのクリーン] をクリックします。
次の手順
Excel 用の基本的なドキュメント レベルのカスタマイズを作成した後は、カスタマイズの開発方法の詳細について、以下のトピックを参照してください。
ドキュメント レベルのカスタマイズで実行できる一般的なプログラミング タスク : ドキュメント レベルのカスタマイズのプログラミング
Excel 用のドキュメント レベルのカスタマイズに固有のプログラミング タスク: Excel ソリューション
Excel のオブジェクト モデル ドキュメントの使用 : Excel オブジェクト モデルの概要
Excel の UI のカスタマイズ (リボンへのカスタム タブの追加、独自の操作ウィンドウの作成など) : Office UI のカスタマイズ
Excel オブジェクト モデルでは不可能なタスクを Visual Studio の Office 開発ツールで提供される拡張 Excel オブジェクトを使用して実行する (たとえば、ドキュメントでのマネージ コントロールのホスト、Windows フォーム データ バインディング モデルを使用した Excel コントロールのデータへのバインド): 拡張オブジェクトによる Excel の自動化
Excel 用のドキュメント レベルのカスタマイズのビルドとデバッグ : Office ソリューションのビルド
Excel 用のドキュメント レベルのカスタマイズの配置 : Office ソリューションの配置