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 中的功能區

  1. 在 [插入] 索引標籤的 [資料表] 群組中,按一下 [資料表]。

  2. 選取要包含在清單中的儲存格,然後按一下 [確定]。

若要使用工具箱

  1. 從 [工具箱] 的 [Excel 控制項] 索引標籤中,將 ListObject 拖曳至工作表。

    [加入 ListObject 控制項] 對話方塊便會出現。

  2. 選取要包含在清單中的儲存格,然後按一下 [確定]。

    如果不想要保留預設的名稱,可以在 [屬性] 視窗中變更名稱。

若要使用資料來源視窗

  1. 開啟 [資料來源] 視窗,並建立專案的資料來源。 如需詳細資訊,請參閱 HOW TO:連接至資料庫中的資料

  2. 將資料表從 [資料來源] 視窗拖曳至工作表。

    資料繫結 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");
    }
    

請參閱

工作

HOW TO:調整 ListObject 控制項的大小

概念

在應用程式層級增益集的執行階段中擴充 Word 文件和 Excel 活頁簿

ListObject 控制項

使用擴充物件自動化 Excel

主項目和主控制項概觀

主項目和主控制項的程式設計限制

其他資源

Office 文件上的控制項

將資料繫結至 Office 方案中的控制項