如何:复制工作表

更新: 2008 年 7 月

适用于

本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。

项目类型

  • 文档级项目

  • 应用程序级项目

Microsoft Office 版本

  • Excel 2003

  • Excel 2007

有关更多信息,请参见按应用程序和项目类型提供的功能

可以创建工作表的副本,并将该工作表插入到工作簿中某个现有工作表的前面或后面。如果不指定插入工作表的位置,Excel 将创建一个新工作簿来容纳新工作表。

说明:

无论以编程方式复制工作表,还是最终用户手动复制工作表,新的工作表中都没有代码并且新工作表上的控件将不会工作。这是因为新复制的工作表是 Microsoft.Office.Interop.Excel.Worksheet 对象,而非 Microsoft.Office.Tools.Excel.Worksheet 宿主项。Windows 窗体控件和宿主控件只能添加到宿主项。有关更多信息,请参见宿主项和宿主控件的编程限制

在文档级自定义项中向工作簿添加复制的工作表

  • 使用 Copy 方法复制当前工作簿中的第一个工作表,并将副本放置在第三个表之后。

    Globals.Sheet1.Copy(After:=Globals.ThisWorkbook.Sheets(3))
    
    Globals.Sheet1.Copy(missing, Globals.ThisWorkbook.Sheets[3]);
    

在应用程序级外接程序中向工作簿添加复制的工作表

  • 使用 Copy 方法复制当前工作簿中的第一个工作表,并将副本放置在第三个表之后。

    Dim worksheet1 As Excel.Worksheet = CType(Application.ActiveWorkbook.Worksheets(1),  _
    Excel.Worksheet)
    Dim worksheet3 As Excel.Worksheet = CType(Application.ActiveWorkbook.Worksheets(3),  _
    Excel.Worksheet)
    worksheet1.Copy(After:=worksheet3)
    
    Excel.Worksheet worksheet1 = ((Excel.Worksheet)Application.ActiveWorkbook.Worksheets[1]);
    Excel.Worksheet worksheet3 = ((Excel.Worksheet)Application.ActiveWorkbook.Worksheets[3]);
    worksheet1.Copy(missing, worksheet3);
    

请参见

任务

如何:向工作簿添加新工作表

如何:从工作簿中删除工作表

如何:选择工作表

概念

使用工作表

宿主项和宿主控件概述

对 Visual Studio Tools for Office 项目中的对象的全局访问

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

了解 Office 解决方案中的可选参数

其他资源

Excel 宿主控件

修订记录

日期

修订历史记录

原因

2008 年 7 月

增加了一个可在应用程序级外接程序中使用的代码示例。

客户反馈。