HOW TO:將 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 中的功能區
在 [插入] 索引標籤的 [資料表] 群組中,按一下 [資料表]。
選取要包含在清單中的儲存格,然後按一下 [確定]。
若要使用工具箱
從 [工具箱] 的 [Excel 控制項] 索引標籤中,將 ListObject 拖曳至工作表。
[加入 ListObject 控制項] 對話方塊便會出現。
選取要包含在清單中的儲存格,然後按一下 [確定]。
如果不想要保留預設的名稱,可以在 [屬性] 視窗中變更名稱。
若要使用資料來源視窗
開啟 [資料來源] 視窗,並建立專案的資料來源。 如需詳細資訊,請參閱 HOW TO:連接至資料庫中的資料。
將資料表從 [資料來源] 視窗拖曳至工作表。
資料繫結 ListObject 控制項隨即加入至工作表。 如需詳細資訊,請參閱資料繫結和 Windows Form。
在文件層級專案中,於執行階段加入 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", missing), "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) ' 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"); }
請參閱
工作
概念
在應用程式層級增益集的執行階段中擴充 Word 文件和 Excel 活頁簿