Workbook 对象 (Excel)

代表一个 Microsoft Excel 工作簿。

备注

Workbook 对象是 Workbooks 集合的成员。 Workbooks 集合包含 Microsoft Excel 中当前打开的所有 Workbook 对象。

Application 对象的 ThisWorkbook 属性返回运行 Visual Basic 代码的工作簿。 在大多数情况下,这与活动工作簿相同。 但是,如果 Visual Basic 代码是加载项的一部分,则 ThisWorkbook 属性将不会返回活动工作簿。 在本示例中,活动工作簿为调用加载项的工作簿,而 ThisWorkbook 属性将返回加载项工作簿。

如果要从 Visual Basic 代码创建外接程序,则应使用 ThisWorkbook 属性来限定必须在编译到外接程序中的工作簿上运行的任何语句。

示例

使用 Workbooks (索引) (其中 index 是工作簿名称或索引号)返回单个 Workbook 对象。 以下示例将激活工作簿一。

Workbooks(1).Activate

索引号指示在其中打开或创建工作簿的顺序。 Workbooks(1) 是创建的第一个工作簿,Workbooks(Workbooks.Count) 是创建的第二个工作簿。 激活工作簿不会更改其索引号。 所有工作簿都包含在索引计数中,即使它们处于隐藏状态。

Name 属性返回工作簿名称。 无法使用此属性设置名称,如果需要更改名称,请使用 SaveAs 方法将工作簿保存到不同名称下。

以下示例将激活名为 Cogs.xls 的工作簿的 Sheet1(必须已在 Microsoft Excel 中打开工作簿)。

Workbooks("Cogs.xls").Worksheets("Sheet1").Activate

Application 对象的 ActiveWorkbook 属性返回当前处于活动状态的工作簿。 以下示例将设置活动工作簿的创作者名称。

ActiveWorkbook.Author = "Jean Selva"

此示例使用指定的电子邮件地址和主题,通过电子邮件发送活动工作簿中的工作表选项卡。 若要运行此代码,活动工作表必须包含单元格 A1 中的电子邮件地址、单元格 B1 中的主题以及要发送到单元格 C1 的工作表的名称。

Sub SendTab()
   'Declare and initialize your variables, and turn off screen updating.
   Dim wks As Worksheet
   Application.ScreenUpdating = False
   Set wks = ActiveSheet

   'Copy the target worksheet, specified in cell C1, to the clipboard.
   Worksheets(Range("C1").Value).Copy

   'Send the content in the clipboard to the email account specified in cell A1,
   'using the subject line specified in cell B1.
   ActiveWorkbook.SendMail wks.Range("A1").Value, wks.Range("B1").Value

   'Do not save changes, and turn screen updating back on.
   ActiveWorkbook.Close savechanges:=False
   Application.ScreenUpdating = True
End Sub

事件

方法

属性

另请参阅

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。