Share via


チュートリアル: Excel のドキュメント レベルのカスタマイズを初めて作成する

この入門編のチュートリアルでは、Microsoft Office Excel 用のドキュメント レベルのカスタマイズを作成する方法について説明します。 この種のソリューションで作成した機能は、特定のブックが開いている場合にのみ使用可能です。 ドキュメント レベルのカスタマイズでは、ブックが開いたときに新しいリボン タブを表示するなどの、アプリケーション全体の変更を行うことはできません。

適用対象: このトピックの情報は、Excel のドキュメントレベルのプロジェクトに適用されます。 詳細については、「Office アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

このチュートリアルでは、次の作業について説明します。

  • Excel ブック プロジェクトを作成する。

  • Visual Studio デザイナーでホストされるワークシートにテキストを追加する。

  • カスタマイズされたワークシートが開かれたときに Excel のオブジェクト モデルを使用してテキストを追加するコードを記述する。

  • プロジェクトをビルドし、実行してテストする。

  • 完成したプロジェクトをクリーンアップして、不要なビルド ファイルやセキュリティ設定を開発用コンピューターから削除する。

    Note

    次の手順で参照している Visual Studio ユーザー インターフェイス要素の一部は、お使いのコンピューターでは名前や場所が異なる場合があります。 これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。 詳細については、「Visual Studio IDE のカスタマイズ」を参照してください。

必須コンポーネント

このチュートリアルを実行するには、次のコンポーネントが必要です。

プロジェクトを作成する

Visual Studio で新しい Excel ブック プロジェクトを作成するには

  1. Visual Studio を起動します。

  2. [ファイル] メニューの [新規作成] をポイントし、 [プロジェクト] をクリックします。

  3. [新しいプロジェクトを作成] ダイアログで、[Excel VSTO ブック] プロジェクトを選択します。

    Note

    [新しいプロジェクトの作成] ダイアログの上部にある [検索] テキスト ボックスに Office 製品の名前を入力して、テンプレートを検索することもできます。 たとえば、「Excel」と入力すると、Excel のすべてのプロジェクト テンプレートが表示されます。 また、[プロジェクトの種類] ドロップダウン ボックスで [Office] を選択して、Office のテンプレートのみを表示するようにテンプレートの一覧をフィルターすることもできます。 詳細については、「Visual Studio で新しいプロジェクトを作成する」を参照してください。

  4. 次へ をクリックします。

  5. [新しいプロジェクトを構成します] ダイアログの [名前] ボックスに「FirstWorkbookCustomization」と入力し、[作成] をクリックします。

  6. 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 コード ファイルが自動的に開かれます。

デザイナーでワークシートを閉じて再度開く

プロジェクトの開発中にデザイナーで開いたブックまたはワークシートを意図的にまたは誤って閉じた場合は、それを再び開くことができます。

デザイナーでワークシートを閉じ、再び開くには

  1. デザイナー ウィンドウの [閉じる] ボタン (X) をクリックしてブックを閉じます。

  2. ソリューション エクスプローラーで、Sheet1 コード ファイルを右クリックし、[デザイナーの表示] をクリックします。

    または

    ソリューション エクスプローラーで、Sheet1 コード ファイルをダブルクリックします。

デザイナーでワークシートにテキストを追加する

デザイナーで開いたワークシートを変更することで、カスタマイズのユーザー インターフェイス (UI) をデザインできます。 たとえば、セルにテキストを追加したり、式を適用したり、Excel のコントロールを追加したりできます。 デザイナーの使用方法について詳しくは、「Visual Studio 環境における Office プロジェクト」をご覧ください。

デザイナーを使用してワークシートにテキストを追加するには

  1. デザイナーで開かれているワークシートで、セル A1 を選択してから、次のテキストを入力します。

    このテキストはデザイナーを使用して追加されました。

警告

このテキスト行をセル A2 に追加した場合、テキストはこの例の他のコードによって上書きされます。

プログラムによってワークシートにテキストを追加する

次に、Sheet1 コード ファイルにコードを追加します。 この新しいコードでは、Excel のオブジェクト モデルを使用して、ブックに 2 行目のテキストを追加します。 Sheet1 コード ファイルには、次の生成コードが既定で含まれています。

  • Sheet1 クラスの部分定義。このクラスは、ワークシートのプログラミング モデルを表し、Excel のオブジェクト モデルへのアクセスを提供します。 詳しくは、「Worksheet ホスト項目」および「Word オブジェクト モデルの概要」をご覧ください。 Sheet1 クラスの残りの部分は、変更することができない非表示のコード ファイルに定義されています。

  • Sheet1_Startup および Sheet1_Shutdown イベント ハンドラー。 これらのイベント ハンドラーは、Excel がユーザーのカスタマイズを読み込むときとアンロードするときに呼び出されます。 これらのイベント ハンドラーを使用して、読み込まれるときにはカスタマイズを初期化し、アンロードされるときにはカスタマイズが使用したリソースをクリーンアップします。 詳細については、「Office プロジェクトのイベント」を参照してください。

コードを使用してワークシートに 2 行目のテキストを追加するには

  1. ソリューション エクスプローラーSheet1 を右クリックし、[コードの表示] をクリックします。

    Visual Studio でコード ファイルが開かれます。

  2. Sheet1_Startup イベント ハンドラーを次のコードで置き換えます。 Sheet1 が開かれると、このコードは、ワークシートに 2 行目のテキストを追加します。

    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";
    }
    

プロジェクトをテストする

ブックをテストするには

  1. F5 キーを押して、プロジェクトをビルドおよび実行します。

    プロジェクトをビルドすると、コードがアセンブリにコンパイルされ、ブックに関連付けられます。 Visual Studio は、ブックおよびアセンブリのコピーをプロジェクトのビルド出力フォルダーに格納し、カスタマイズを実行できるように開発用コンピューターのセキュリティ設定を行います。 詳細については、「Office ソリューションのビルド」を参照してください。

  2. 次のテキストがブックに表示されることを確認します。

    このテキストはデザイナーを使用して追加されました。

    This text was added by using code.

  3. ブックを閉じます。

プロジェクトをクリーンアップする

プロジェクトの開発が完了したら、ビルド プロセスによって作成されたビルド出力フォルダー内のファイルおよびセキュリティ設定を削除する必要があります。

開発用コンピューターから完成したプロジェクトをクリーンアップするには

  1. Visual Studio で、 [ビルド] メニューの [ソリューションのクリーン]をクリックします。

次のステップ

Excel 用の基本的なドキュメント レベルのカスタマイズを作成したので、カスタマイズ開発の詳細な方法について、以下のトピックを参照してください。