VBScript Excel.Workbook 对象
最后修改于 2025 年 4 月 9 日
VBScript 中的 Excel.Workbook
对象代表一个 Excel 工作簿文件。它是用于自动化的 Excel 对象模型的一部分。此对象提供了以编程方式操作 Excel 工作簿的方法和属性。通过 VBScript,您可以创建、打开、修改和保存 Excel 文件。
Workbook
对象通过 Excel Application 对象进行访问。它们包含 Worksheets 集合和各种工作簿特定的属性。本教程将通过实际示例介绍 Workbook
对象,以演示其在自动化场景中的用法。
Excel.Workbook 对象概述
Workbook
对象是 VBScript 中处理 Excel 文件的核心对象。它代表一个单独的 .xls 或 .xlsx 文件。该对象提供了对所有工作表、图表和工作簿级设置的访问。
关键属性包括 Name
、Path
和 Worksheets
。重要方法包括 Save
、Close
和 SaveAs
。理解此对象对于使用 VBScript 进行 Excel 自动化至关重要。
打开现有工作簿
此示例演示如何使用 VBScript 打开现有的 Excel 工作簿。该脚本创建一个 Excel 应用程序实例并打开指定的文件。然后,它显示有关工作簿的基本信息。
Set excelApp = CreateObject("Excel.Application") Set workbook = excelApp.Workbooks.Open("C:\Reports\Sales.xlsx") WScript.Echo "Workbook Name: " & workbook.Name WScript.Echo "Path: " & workbook.Path workbook.Close excelApp.Quit Set workbook = Nothing Set excelApp = Nothing
该脚本创建一个 Excel 应用程序对象并打开“Sales.xlsx”。在关闭它之前,它会显示工作簿名称和路径。始终使用 Set obj = Nothing
来释放对象,以防止内存泄漏。
创建新工作簿
此示例展示了如何使用 VBScript 创建一个全新的 Excel 工作簿。Workbooks 集合的 Add
方法创建一个新工作簿。默认工作簿包含三个工作表。
Set excelApp = CreateObject("Excel.Application") excelApp.Visible = True ' Make Excel visible Set workbook = excelApp.Workbooks.Add WScript.Echo "New workbook created with " & workbook.Worksheets.Count & " sheets" workbook.SaveAs "C:\Reports\NewReport.xlsx" Set workbook = Nothing Set excelApp = Nothing
该脚本创建一个可见的 Excel 实例并添加一个新的工作簿。它显示工作表数量并保存文件。Visible
属性使 Excel 在开发过程中可见,但在生产环境中应设为 False。
保存和关闭工作簿
此示例演示了正确的工作簿保存和关闭过程。它展示了对现有文件的 Save
和对新文件的 SaveAs
。始终正确关闭工作簿以避免文件锁定。
Set excelApp = CreateObject("Excel.Application") Set workbook = excelApp.Workbooks.Add ' Add data to worksheet workbook.Worksheets(1).Cells(1, 1).Value = "Sample Data" ' Save options workbook.SaveAs "C:\Reports\Sample.xlsx" ' Save new file ' workbook.Save ' Use for existing files workbook.Close False ' Close without saving changes excelApp.Quit Set workbook = Nothing Set excelApp = Nothing
该脚本创建一个工作簿,添加数据,然后将其保存。Close
方法的参数决定是否保存更改。使用 Quit
完全关闭 Excel 应用程序。
处理工作簿中的工作表
此示例展示了如何访问和操作工作簿中的工作表。Worksheets
集合包含工作簿中的所有工作表。您可以以编程方式添加、删除和修改工作表。
Set excelApp = CreateObject("Excel.Application") Set workbook = excelApp.Workbooks.Add ' Add a new worksheet Set newSheet = workbook.Worksheets.Add newSheet.Name = "Data Sheet" ' Access existing sheet Set sheet1 = workbook.Worksheets(1) sheet1.Cells(1, 1).Value = "Header" WScript.Echo "Sheet count: " & workbook.Worksheets.Count workbook.Close False excelApp.Quit Set sheet1 = Nothing Set newSheet = Nothing Set workbook = Nothing Set excelApp = Nothing
该脚本添加了一个新的工作表并为其重命名。然后,它访问第一个工作表以添加数据。在 VBScript 中,Worksheets
集合是基于 1 索引的。完成所有操作后,请务必清理所有对象。
保护和取消保护工作簿
此示例演示了工作簿保护功能。您可以保护工作簿结构以防止工作表被修改。可以带密码或不带密码应用保护。
Set excelApp = CreateObject("Excel.Application") Set workbook = excelApp.Workbooks.Add ' Protect workbook structure workbook.Protect "mypassword", True, False WScript.Echo "Workbook protected: " & workbook.ProtectStructure ' Unprotect workbook workbook.Unprotect "mypassword" workbook.Close False excelApp.Quit Set workbook = Nothing Set excelApp = Nothing
该脚本使用密码保护工作簿并验证保护状态。然后,它取消保护工作簿。工作簿保护与工作表保护(保护单元格内容)不同。
来源
在本文中,我们探讨了 VBScript 中的 Excel.Workbook
对象,涵盖了其用法和实际应用。从基本操作到工作簿保护,这些示例演示了 Excel 自动化。有了这些知识,您就可以使用 VBScript 高效地自动化 Excel 任务。