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