如何:以编程方式从工作簿中删除工作表

可以删除工作簿中的任何工作表。若要删除某个工作表,请使用该工作表的宿主项,或者通过工作簿的 Sheets 集合来访问该工作表。

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

使用工作表宿主项

如果该工作表是在设计时添加到文档级自定义项的,请使用 Delete 方法删除指定的工作表。下面的代码通过直接引用工作表宿主项的方法,从工作簿中删除工作表。

重要说明重要事项

此代码在使用任何下列项目模板,您创建的项目仅运行:

  • Excel 2013 工作簿

  • Excel 2013 模板

  • Excel 2010 工作簿

  • Excel 2010 模板

如果您在任何其他类型的项目中执行此任务,必须添加对 Microsoft.Office.Interop.Excel 程序集,然后必须使用该程序集中的选件类打开工作簿和删除工作表。有关更多信息,请参见 如何:通过主互操作程序集面向 Office 应用程序Excel 2010 主互操作程序集 (PIA) 参考

使用工作表宿主项删除工作表

  • 调用 Sheet1 的 Delete 方法。

    Globals.Sheet1.Delete()
    
    Globals.Sheet1.Delete();
    

使用 Excel 工作簿的 Sheets 集合

在以下情况下,可以通过 Microsoft Office Excel Sheets 集合来访问工作表:

  • 您希望在应用程序级外接程序中删除工作表。

  • 要删除的工作表是在运行时在文档级自定义项中创建的。

下面的代码通过 Sheets 集合的索引号引用表,从而从工作簿中删除该工作表。此代码假定新工作表是以编程的方式创建的。

重要说明重要事项

此代码在使用任何下列项目模板,您创建的项目仅运行:

  • Excel 2013 工作簿

  • Excel 2013 模板

  • Excel 2013 外接程序

  • Excel 2010 工作簿

  • Excel 2010 模板

  • Excel 2010 外接程序

如果您在任何其他类型的项目中执行此任务,必须添加对 Microsoft.Office.Interop.Excel 程序集,然后必须使用该程序集中的选件类打开工作簿和删除工作表。有关更多信息,请参见 如何:通过主互操作程序集面向 Office 应用程序Excel 2010 主互操作程序集 (PIA) 参考

使用 Excel 工作簿的 Sheets 集合删除工作表

  • 调用 Sheets 集合的 Delete 方法。

    CType(Me.Application.ActiveWorkbook.Sheets(4), Excel.Worksheet).Delete()
    
    ((Excel.Worksheet)this.Application.ActiveWorkbook.Sheets[4]).Delete();
    

请参见

任务

如何:以编程方式隐藏工作表

如何:以编程方式在工作簿中移动工作表

如何:以编程方式选择工作表

如何:以编程方式向工作簿添加新工作表

概念

使用工作表

工作表宿主项

对 Office 项目中对象的全局访问

宿主项和宿主控件的编程限制