如何:调整 ListObject 控件的大小

ListObject 控件添加到 Microsoft Office Excel 工作簿时,可以设置该控件的大小;但是,您可能需要在以后调整其大小。 例如,您可能希望将两列式列表更改为三列式列表。

**适用于:**本主题中的信息适用于 Excel 2007 和 Excel 2010 的文档级项目和应用程序级项目。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能

在文档级项目中,可以在设计时或运行时调整 ListObject 控件的大小。 您可以在运行时在应用程序级项目中调整 ListObject 控件的大小。

本主题介绍了以下任务:

  • 在设计时调整 ListObject 控件的大小

  • 在运行时在文档级项目中调整 ListObject 控件的大小

  • 在运行时在应用程序级项目中调整 ListObject 控件的大小

有关 ListObject 控件的更多信息,请参见 ListObject 控件

链接到视频 有关相关的视频演示,请参见 How Do I: Add Columns to a Data-Bound List Object at RunTime?(如何实现:在运行时向数据绑定列表对象添加列。)

在设计时调整 ListObject 控件的大小

若要调整列表的大小,可以单击并拖动其中一个调整大小手柄,或者在**“调整列表大小”**对话框中重新定义其大小。

使用“调整列表大小”对话框调整列表的大小

  1. 右击 ListObject 控件。

  2. 指向**“列表”,然后在快捷菜单中单击“调整列表大小”**。

  3. 选择要用来定义列表大小的单元格。

  4. 单击**“确定”**。

在运行时在文档级项目中调整 ListObject 控件的大小

在运行时,可以使用 Resize 方法调整 ListObject 控件的大小。 不能使用此方法将 ListObject 控件移动到工作表中的新位置。 标题必须保持在同一行中,且调整大小后的 ListObject 控件必须与原列表对象重叠。 调整大小后的 ListObject 控件必须包含一个标题行,而且至少有一行数据。

以编程方式调整列表对象的大小

  1. 在 Sheet1 上创建一个跨单元格**“A1”“B3”**的 ListObject 控件。

    Dim List1 As Microsoft.Office.Tools.Excel.ListObject = _
        Me.Controls.AddListObject(Me.Range("A1", "B3"), "List1")
    
    Microsoft.Office.Tools.Excel.ListObject list1 = 
        this.Controls.AddListObject(this.Range["A1", "B3"], "list1");
    
  2. 调整该列表的大小,使其包含单元格**“A1”“C5”**。

    List1.Resize(Range.Item("A1", "C5"))
    
    list1.Resize(this.Range["A1", "C5"]);
    

在运行时在应用程序级项目中调整 ListObject 的大小

您可以在运行时在任何打开的工作表上调整 ListObject 控件的大小。 有关如何使用应用程序级外接程序向工作表添加 ListObject 控件的更多信息,请参见如何:向工作表添加 ListObject 控件

以编程方式调整列表对象的大小

  1. 在 Sheet1 上创建一个跨单元格**“A1”“B3”**的 ListObject 控件。

    Dim NativeWorksheet As Microsoft.Office.Interop.Excel.Worksheet = _
        Application.ActiveSheet
    
    ' 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(Application.ActiveSheet,  _
    '    Excel.Worksheet).GetVstoObject()
    
    Dim list1 As Microsoft.Office.Tools.Excel.ListObject
    list1 = worksheet.Controls.AddListObject(worksheet.Range("$A$1:$B$3"), "MyListObject")
    
    
    // Use the following line of code in projects that target the .NET Framework 4.
    Worksheet worksheet = Globals.Factory.GetVstoObject(Application.ActiveSheet);
    
    // In projects that target the .NET Framework 3.5, use the following line of code.
    // Worksheet worksheet = ((Excel.Worksheet)Application.ActiveSheet).GetVstoObject();
    
    Microsoft.Office.Tools.Excel.ListObject list1;    
    list1 = worksheet.Controls.AddListObject(worksheet.Range["$A$1:$B$3", missing], "MyListObject");
    
  2. 调整该列表的大小,使其包含单元格**“A1”“C5”**。

    list1.Resize(worksheet.Range("A1", "C5"))
    
    list1.Resize(worksheet.Range["A1", "C5"]);
    

请参见

任务

如何:向工作表添加 ListObject 控件

如何:调整 Bookmark 控件的大小

如何:调整 NamedRange 控件的大小

概念

在运行时在应用程序级外接程序中扩展 Word 文档和 Excel 工作簿

在运行时向 Office 文档添加控件

宿主项和宿主控件概述

使用扩展对象实现 Excel 自动化

ListObject 控件

其他资源

Office 文档上的控件