更新:2007 年 11 月
| 适用对象 | 
|---|
| 本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。 文档级项目 
 应用程序级项目 
 有关更多信息,请参见按应用程序和项目类型提供的功能。 | 
在文档级项目中,可以在设计时和运行时向 Microsoft Office Excel 工作表添加 ListObject 控件。
从 Visual Studio 2008 Service Pack 1 (SP1) 开始,在应用程序级外接程序项目中,您可以在运行时添加 ListObject 控件。
本主题介绍了以下任务:
- 在设计时添加 ListObject 控件 
- 在运行时在文档级项目中添加 ListObject 控件 
- 在运行时在应用程序级项目中添加 ListObject 控件 
有关 ListObject 控件的更多信息,请参见 ListObject 控件。
在设计时添加 ListObject 控件
有多种方法可用来在设计时在文档级项目中向工作表添加 ListObject 控件:从 Excel 内添加,从 Visual Studio 的“工具箱”中添加,以及从“数据源”窗口中添加。
| .gif) 说明: | 
|---|
| 对于在以下说明中使用的某些 Visual Studio 用户界面元素,您的计算机可能会显示不同的名称或位置。这些元素取决于您使用的 Visual Studio 版本及设置。有关更多信息,请参见Visual Studio 设置。 | 
使用 Excel 2003 中的“创建列表”对话框
- 在“数据”菜单上,依次指向“Microsoft Office Excel 数据”、“列表”,然后单击“创建列表”。 - 随即出现“创建列表”对话框。 .gif) 说明: 说明:- 如果“Microsoft Office Excel 数据”在“数据”菜单上不可用,请单击工作表使其获得焦点。 
- 选择要在列表中包含的一个或多个单元格,然后单击“确定”。 
使用 Excel 2007 中的功能区
- 在“插入”选项卡上的“表”组中,单击“表”。 
- 选择要在列表中包含的一个或多个单元格,然后单击“确定”。 
使用“工具箱”
- 从“工具箱”的“Excel 控件”选项卡中,将 ListObject 拖到工作表上。 - 随即出现“添加 ListObject 控件”对话框。 
- 选择要在列表中包含的一个或多个单元格,然后单击“确定”。 - 如果不想保留默认名称,可以在“属性”窗口中更改名称。 
使用“数据源”窗口
- 打开“数据源”窗口,为项目创建一个数据源。有关更多信息,请参见 如何:连接到数据库中的数据。 
- 从“数据源”窗口中将一个表拖到工作表中。 - 一个绑定到数据的 ListObject 控件即被添加到工作表中。有关更多信息,请参见数据绑定和 Windows 窗体。 
在运行时在文档级项目中添加 ListObject 控件
可以在运行时动态地添加 ListObject 控件。这使您能够为响应事件而创建宿主控件。关闭工作表时,动态创建的列表对象不会像宿主控件一样保留在工作表中。有关更多信息,请参见在运行时向 Office 文档添加控件。
以编程方式将 ListObject 控件添加到工作表中
- 在 Sheet1 的 Startup 事件处理程序中,插入下列代码,以向单元格“A1”到“A4”中添加 ListObject 控件。 - 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 控件
从 SP1 开始,您可以以编程方式在应用程序级项目中向任何打开的工作表添加 ListObject 控件。保存并关闭工作表时,动态创建的列表对象不会像宿主控件一样保留在工作表中。有关更多信息,请参见 在运行时在应用程序级外接程序中扩展 Word 文档和 Excel 工作簿。
以编程方式将 ListObject 控件添加到工作表中
- 下面的代码生成一个基于打开的工作表的工作表宿主项,然后向“A1”到“A4”单元格添加一个 ListObject 控件。 - Private Sub AddListObject() Dim worksheet As Worksheet = CType(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() { Worksheet worksheet = ((Excel.Worksheet)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 工作簿
其他资源
修订记录
| 日期 | 修订 | 原因 | 
|---|---|---|
| 2008 年 7 月 | 增加了说明如何在应用程序级外接程序中向工作表添加列表对象控件的一节。 | SP1 功能更改。 |