次の方法で共有


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

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

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

アプリケーション レベルのアドイン プロジェクトでも、ListObject コントロールを実行時に追加できます。

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

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

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

  • 実行時に ListObject コントロールをアプリケーション レベルのプロジェクトに追加する

ListObject コントロールの詳細については、「ListObject コントロール」を参照してください。

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

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

注意

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

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

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

  2. リストに設定するセルを選択し、[OK] をクリックします。

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

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

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

  2. リストに設定するセルを選択し、[OK] をクリックします。

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

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

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

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

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

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

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

プログラムによって、ワークシートに ListObject コントロールを追加するには

  • Sheet1 の Startup イベント ハンドラーで、次のコードを挿入して、ListObject コントロールをセル A1A4 に追加します。

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

実行時に ListObject コントロールをアプリケーション レベルのプロジェクトに追加する

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

プログラムによって、ワークシートに ListObject コントロールを追加するには

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

    Private Sub AddListObject()
        Dim NativeWorksheet As Microsoft.Office.Interop.Excel.Worksheet =
            Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets(1)
    
        ' Use the following line of code in projects that target the .NET Framework 4.
        Dim worksheet As Microsoft.Office.Tools.Excel.Worksheet =
            Globals.Factory.GetVstoObject(NativeWorksheet)
    
        ' In projects that target the .NET Framework 3.5, use the following line of code.
        ' Dim worksheet = CType(Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets(1),  _
        '    Excel.Worksheet).GetVstoObject()
    
        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
    
    private void AddListObject()
    {
        // Use the following line of code in projects that target the .NET Framework 4.
        Worksheet worksheet = Globals.Factory.GetVstoObject(
            Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets[1]);
    
        // In projects that target the .NET Framework 3.5, use the following line of code.
        // Worksheet worksheet = 
        //     ((Excel.Worksheet)Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets[1]).GetVstoObject();
    
        Microsoft.Office.Tools.Excel.ListObject list1;
        Excel.Range cell = worksheet.Range["$A$1:$D$4", missing];
        list1 = worksheet.Controls.AddListObject(cell, "list1");
    }
    

参照

処理手順

方法 : ListObject コントロールのサイズを変更する

概念

アプリケーション レベルのアドインにおける実行時の Word 文書や Excel ブックの拡張

ListObject コントロール

拡張オブジェクトによる Excel の自動化

ホスト項目とホスト コントロールの概要

Office ソリューションでのコントロールへのデータのバインド

ホスト項目およびホスト コントロールのプログラム上の制限事項

その他の技術情報

Office ドキュメントのコントロール