ワークシートに ListObject コントロールを追加する

ドキュメント レベルのプロジェクトでは、デザイン時および実行時に、 ListObject コントロールを Microsoft Office Excel ワークシートに追加できます。

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

VSTO アドイン プロジェクトでも、実行時に ListObject コントロールを追加できます。

このトピックでは、次のタスクについて説明します。

デザイン時に ListObject コントロールを追加する

デザイン時にドキュメント レベルのプロジェクトのワークシートに ListObject コントロールを追加する方法として、Excel から行う方法、Visual Studio の ツールボックスから行う方法、および [データ ソース] ウィンドウから行う方法があります。

Note

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

Excel のリボンを使用するには

  1. [挿入] タブの [テーブル] グループで、 [テーブル]をクリックします。

  2. リストに含める 1 つ以上のセルを選択し、 [OK]をクリックします。

ツールボックスを使用するには

  1. ツールボックス[Excel コントロール]タブからワークシートまで ListObject をドラッグします。

    [ListObject コントロールの追加] ダイアログ ボックスが表示されます。

  2. リストに含める 1 つ以上のセルを選択し、 [OK]をクリックします。

    名前を既定のままにしない場合は、 [プロパティ] ウィンドウで変更します。

[データ ソース] ウィンドウを使用するには

  1. [データ ソース] ウィンドウを開いて、プロジェクトのデータ ソースを作成します。 詳細については、「新しい接続を追加する」を参照してください。

  2. [データ ソース] ウィンドウからワークシートまでテーブルをドラッグします。

    データがバインドされた ListObject コントロールがワークシートに追加されます。 詳細については、「データ連結と Windows フォーム」を参照してください。

ドキュメントレベルのプロジェクトで、実行時に ListObject コントロールを追加する

実行時に ListObject コントロールを動的に追加できます。 この方法を使用すると、イベントに応答してホスト コントロールを作成できます。 動的に作成されたリスト オブジェクトは、ワークシートを閉じる際に、ホスト コントロールとしてワークシートに残りません。 詳細については、「実行時に Office 文書にコントロールを追加する」を参照してください。

プログラムを使用してワークシートに ListObject コントロールを追加するには

  1. StartupSheet1イベント ハンドラーに以下のコードを挿入して、 ListObject コントロールをセル A1A4に追加します。

    Microsoft.Office.Tools.Excel.ListObject employeeData;
    employeeData = this.Controls.AddListObject(this.get_Range("$A$1:$D$4"), "employees");
    

VSTO アドイン プロジェクトで、実行時に ListObject コントロールを追加する

プログラムを使用して ListObject コントロールを VSTO アドイン プロジェクトの任意の開いているワークシートに追加できます。 動的に作成されたリスト オブジェクトは、ワークシートを保存して閉じる際に、ホスト コントロールとしてワークシートに残りません。 詳細については、「実行時に VSTO アドインの Word 文書と Excel ブックを拡張する」を参照してください。

プログラムを使用してワークシートに ListObject コントロールを追加するには

  1. 次のコードでは、開いているワークシートに基づいたワークシート ホスト項目を生成し、 ListObject コントロールをセル A1A4に追加します。

    private void AddListObject()
    {
        Worksheet worksheet = Globals.Factory.GetVstoObject(
            Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets[1]);
    
        Microsoft.Office.Tools.Excel.ListObject list1;
        Excel.Range cell = worksheet.Range["$A$1:$D$4"];
        list1 = worksheet.Controls.AddListObject(cell, "list1");
    }