方法 : ワークシートに ListObject コントロールを追加する
ListObject コントロールは、デザイン時および実行時にドキュメント レベルのプロジェクトの Microsoft Office Excel ワークシートに追加できます。
対象: このトピックの情報は、Excel 2013 と Excel 2010 のドキュメント レベルのプロジェクトおよびアプリケーション レベルのプロジェクトに適用されます。詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。
アプリケーション レベルのアドイン プロジェクトでも、ListObject コントロールを実行時に追加できます。
このトピックでは、次のタスクについて説明します。
デザイン時に ListObject コントロールを追加する
実行時に ListObject コントロールをドキュメント レベルのプロジェクトに追加する
実行時に ListObject コントロールをアプリケーション レベルのプロジェクトに追加する
ListObject コントロールの詳細については、「ListObject コントロール」を参照してください。
デザイン時に ListObject コントロールを追加する
デザイン時にドキュメント レベルのプロジェクトのワークシートに ListObject コントロールを追加する方法として、Excel から行う方法、Visual Studio ツールボックスから行う方法、および [データ ソース] ウィンドウから行う方法があります。
[!メモ]
お使いのマシンで、Visual Studio ユーザー インターフェイスの一部の要素の名前や場所が、次の手順とは異なる場合があります。これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。詳細については、「Visual Studio の設定」を参照してください。
Excel のリボンを使用するには
[挿入] タブの [テーブル] グループで [テーブル] をクリックします。
リストに設定するセルを選択し、[OK] をクリックします。
[ツールボックス] を使用するには
[ツールボックス] の [Excel コントロール] タブから ListObject をワークシートにドラッグします。
[ListObject コントロールの追加] ダイアログ ボックスが表示されます。
リストに設定するセルを選択し、[OK] をクリックします。
名前を既定のままにしない場合は、[プロパティ] ウィンドウで名前を変更します。
[データ ソース] ウィンドウを使用するには
[データ ソース] ウィンドウを開き、プロジェクトのデータ ソースを作成します。詳細については、「方法 : データベース内のデータに接続する」を参照してください。
[データ ソース] ウィンドウからワークシートにテーブルをドラッグします。
データ バインド ListObject コントロールがワークシートに追加されます。詳細については、「データ連結と Windows フォーム」を参照してください。
実行時に ListObject コントロールをドキュメント レベルのプロジェクトに追加する
実行時に ListObject コントロールを動的に追加できます。この方法を使用すると、イベントに応答してホスト コントロールを作成できます。動的に作成されたリスト オブジェクトは、ワークシートを閉じるときに、ホスト コントロールとしてワークシートに保持されません。詳細については、「実行時の Office ドキュメントへのコントロールの追加」を参照してください。
プログラムによって、ワークシートに ListObject コントロールを追加するには
Sheet1 の Startup イベント ハンドラーで、次のコードを挿入して、ListObject コントロールをセル A1 ~ A4 に追加します。
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"), "employees");
実行時に ListObject コントロールをアプリケーション レベルのプロジェクトに追加する
プログラムによって ListObject コントロールをアプリケーション レベルのプロジェクトの任意の開いているワークシートに追加できます。動的に作成されたリスト オブジェクトは、ワークシートを保存して閉じるときに、ホスト コントロールとしてワークシートに保持されません。詳細については、「アプリケーション レベルのアドインにおける実行時の Word 文書や Excel ブックの拡張」を参照してください。
プログラムによって、ワークシートに ListObject コントロールを追加するには
次のコードは、開いているワークシートに基づくワークシート ホスト項目を生成し、ListObject コントロールを A1 ~ A4 のセルに追加します。
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
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"); }
参照
処理手順
方法 : ListObject コントロールのサイズを変更する
概念
アプリケーション レベルのアドインにおける実行時の Word 文書や Excel ブックの拡張
ホスト項目およびホスト コントロールのプログラム上の制限事項