方法: ワークシートへの ListObject コントロールの追加How to: Add ListObject controls to worksheets

ドキュメント レベルのプロジェクトでは、デザイン時および実行時に、 ListObject コントロールを Microsoft Office Excel ワークシートに追加できます。You can add ListObject controls to a Microsoft Office Excel worksheet at design time and at run time in document-level projects.

適用対象: このトピックの情報は、ドキュメントに適用されます-レベルのプロジェクトおよび VSTO 追加-で Excel 用のプロジェクト。Applies to: The information in this topic applies to document-level projects and VSTO Add-in projects for Excel. 詳細については、「Office アプリケーションおよびプロジェクトの種類で使用できる機能」を参照してください。For more information, see Features available by Office application and project type.

VSTO アドイン プロジェクトでも、実行時に ListObject コントロールを追加できます。You can also add ListObject controls at run time in VSTO Add-in projects.

このトピックでは、次のタスクについて説明します。This topic describes the following tasks:

デザイン時に ListObject コントロールを追加するAdd ListObject controls at design time

デザイン時にドキュメントレベルのListObjectプロジェクトのワークシートにコントロールを追加するには、いくつかの方法があります。Excel 内、Visual Studioツールボックス、および [データソース] ウィンドウから。There are several ways to add ListObject controls to a worksheet in a document-level project at design time: From within Excel, from the Visual Studio Toolbox, and from the Data Sources window.

Note

次の手順で参照している Visual Studio ユーザー インターフェイス要素の一部は、お使いのコンピューターでは名前や場所が異なる場合があります。Your computer might show different names or locations for some of the Visual Studio user interface elements in the following instructions. これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。The Visual Studio edition that you have and the settings that you use determine these elements. 詳細については、「Visual Studio IDE のカスタマイズ」を参照してください。For more information, see Personalize the IDE.

Excel のリボンを使用するにはTo use the Ribbon in Excel

  1. [挿入] タブの [テーブル] グループで、 [テーブル] をクリックします。On the Insert tab, in the Tables group, click Table.

  2. リストに含める 1 つ以上のセルを選択し、 [OK] をクリックします。Select the cell or cells you want to include in the list and click OK.

ツールボックスを使用するにはTo use the Toolbox

  1. ツールボックス[Excel コントロール] タブからワークシートまで ListObject をドラッグします。From the Excel Controls tab of the Toolbox, drag a ListObject to the worksheet.

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

  2. リストに含める 1 つ以上のセルを選択し、 [OK] をクリックします。Select the cell or cells you want to include in the list and click OK.

    名前を既定のままにしない場合は、 [プロパティ] ウィンドウで変更します。If you do not want to keep the default name, you can change the name in the Properties window.

[データ ソース] ウィンドウを使用するにはTo use the Data Sources window

  1. [データ ソース] ウィンドウを開いて、プロジェクトのデータ ソースを作成します。Open the Data Sources window and create a data source for your project. 詳細については、「新しい接続の追加」を参照してください。For more information, see Add new connections.

  2. [データ ソース] ウィンドウからワークシートまでテーブルをドラッグします。Drag a table from the Data Sources window to your worksheet.

    データがバインドされた ListObject コントロールがワークシートに追加されます。A data-bound ListObject control is added to the worksheet. 詳細については、「データバインディングと Windows フォーム」を参照してください。For more information, see Data binding and Windows Forms.

実行時にドキュメントレベルのプロジェクトに ListObject コントロールを追加するAdd ListObject controls at run time in a document-level project

実行時に ListObject コントロールを動的に追加できます。You can add the ListObject control dynamically at run time. この方法を使用すると、イベントに応答してホスト コントロールを作成できます。This enables you to create the host controls in response to events. 動的に作成されたリスト オブジェクトは、ワークシートを閉じる際に、ホスト コントロールとしてワークシートに残りません。Dynamically created list objects are not persisted in the worksheet as host controls when the worksheet is closed. 詳細については、「実行時に Office ドキュメントにコントロールを追加する」を参照してください。For more information, see Add controls to Office documents at run time.

プログラムを使用してワークシートに ListObject コントロールを追加するにはTo add a ListObject control to a worksheet programmatically

  1. StartupSheet1イベント ハンドラーに以下のコードを挿入して、 ListObject コントロールをセル A1A4に追加します。In the Startup event handler of Sheet1, insert the following code to add a ListObject control to cells A1 through A4.

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

実行時に VSTO アドインプロジェクトに ListObject コントロールを追加するAdd ListObject controls at run time in a VSTO Add-in project

プログラムを使用して ListObject コントロールを VSTO アドイン プロジェクトの任意の開いているワークシートに追加できます。You can add a ListObject control programmatically to any open worksheet in a VSTO Add-in project. 動的に作成されたリスト オブジェクトは、ワークシートを保存して閉じる際に、ホスト コントロールとしてワークシートに残りません。Dynamically created list objects are not persisted in the worksheet as host controls when the worksheet is saved and then closed. 詳細については、「 VSTO アドインでの実行時の Word 文書と Excel ブックの拡張」を参照してください。For more information, see Extend Word documents and Excel workbooks in VSTO Add-ins at run time.

プログラムを使用してワークシートに ListObject コントロールを追加するにはTo add a ListObject control to a worksheet programmatically

  1. 次のコードでは、開いているワークシートに基づいたワークシート ホスト項目を生成し、 ListObject コントロールをセル A1A4に追加します。The following code generates a worksheet host item that is based on the open worksheet, and then adds a ListObject control to cells A1 through A4.

    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");
    }
    
    Private Sub AddListObject()
        Dim NativeWorksheet As Microsoft.Office.Interop.Excel.Worksheet =
            Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets(1)
    
        Dim worksheet As Microsoft.Office.Tools.Excel.Worksheet =
            Globals.Factory.GetVstoObject(NativeWorksheet)
    
        Dim list1 As Microsoft.Office.Tools.Excel.ListObject
        Dim cell As Excel.Range = worksheet.Range("$A$1:$D$4")
        list1 = worksheet.Controls.AddListObject(cell, "MyListObject")
    End Sub
    

関連項目See also