VBScript Excel.Worksheet 对象
最后修改于 2025 年 4 月 9 日
VBScript 中的 Excel.Worksheet 对象代表 Excel 工作簿中的单个工作表。它提供了用于操作工作表数据和格式的方法和属性。此对象是 Excel 自动化接口的一部分,可以通过 VBScript 访问。
使用 Worksheet,您可以读取和写入单元格值、设置单元格格式以及管理工作表结构。它是使用 VBScript 自动执行 Excel 任务的关键。本教程通过实际示例涵盖 Worksheet 的用法。
工作表对象概述
Worksheet 对象是 Worksheets 集合的成员。每个工作表包含按行和列组织的单元格。您可以通过名称或索引从集合中访问工作表。
关键属性包括 Name、Cells 和 Range。重要方法包括 Activate、Copy 和 Delete。理解此对象有助于创建可靠的 Excel 自动化脚本。
访问工作表
此示例演示了如何访问 Excel 工作簿中的工作表。它同时显示了按名称和按索引的方法。该脚本创建一个 Excel 实例并访问第一个工作表。
Set excel = CreateObject("Excel.Application")
Set workbook = excel.Workbooks.Add()
' Access by index (1-based)
Set sheet1 = workbook.Worksheets(1)
' Access by name
Set sheet2 = workbook.Worksheets.Add()
sheet2.Name = "DataSheet"
Set namedSheet = workbook.Worksheets("DataSheet")
excel.Visible = True
WScript.Echo "Active sheet: " & namedSheet.Name
' Cleanup
Set namedSheet = Nothing
Set sheet1 = Nothing
Set workbook = Nothing
Set excel = Nothing
该脚本创建一个 Excel 应用程序并添加一个新的工作簿。它通过索引(1)访问第一个工作表,并通过名称访问另一个工作表。使用 Name 属性显示工作表名称。
将数据写入单元格
此示例展示了如何将数据写入工作表单元格。它同时演示了单个单元格访问和范围操作。值被写入工作表中的特定单元格。
Set excel = CreateObject("Excel.Application")
Set workbook = excel.Workbooks.Add()
Set sheet = workbook.Worksheets(1)
' Write to individual cells
sheet.Cells(1, 1).Value = "Product"
sheet.Cells(1, 2).Value = "Price"
' Write using Range
sheet.Range("A2").Value = "Laptop"
sheet.Range("B2").Value = 999.99
' Write to multiple cells
sheet.Range("A3:B3").Value = Array("Phone", 599.99)
excel.Visible = True
' Cleanup
Set sheet = Nothing
Set workbook = Nothing
Set excel = Nothing
该脚本将标题写入第 1 行,并将产品数据放在下方。它同时使用了 Cells 和 Range 属性。Array 函数一次写入多个值。Excel 窗口将可见以显示结果。
从工作表读取数据
此示例演示了如何从工作表单元格读取数据。它展示了如何从单个单元格和范围检索值。读取的值使用 WScript.Echo 显示。
Set excel = CreateObject("Excel.Application")
Set workbook = excel.Workbooks.Add()
Set sheet = workbook.Worksheets(1)
' Write sample data
sheet.Range("A1:B2").Value = Array(Array("Item", "Qty"), Array("Apples", 5))
' Read individual cell
item = sheet.Cells(2, 1).Value
quantity = sheet.Cells(2, 2).Value
' Read range
Set dataRange = sheet.Range("A1:B2")
WScript.Echo "Data range has " & dataRange.Rows.Count & " rows"
' Display values
WScript.Echo item & ": " & quantity
' Cleanup
Set dataRange = Nothing
Set sheet = Nothing
Set workbook = Nothing
Set excel = Nothing
该脚本首先将示例数据写入一个范围。然后它从特定单元格和整个范围读取值。显示范围的行数,然后是特定单元格的值。
格式化工作表单元格
此示例演示了工作表中的基本单元格格式设置。它展示了如何设置字体属性、单元格颜色和数字格式。格式设置使数据更具可读性和专业性。
Set excel = CreateObject("Excel.Application")
Set workbook = excel.Workbooks.Add()
Set sheet = workbook.Worksheets(1)
' Write data
sheet.Range("A1:B1").Value = Array("Date", "Amount")
sheet.Range("A2:B2").Value = Array(Date(), 1250.75)
' Format headers
With sheet.Range("A1:B1").Font
.Bold = True
.Color = RGB(255, 255, 255)
End With
' Format cells
sheet.Range("A1:B1").Interior.Color = RGB(0, 0, 128)
sheet.Columns("A").NumberFormat = "mm/dd/yyyy"
sheet.Columns("B").NumberFormat = "$#,##0.00"
excel.Visible = True
' Cleanup
Set sheet = Nothing
Set workbook = Nothing
Set excel = Nothing
该脚本将写入示例数据并应用各种格式选项。标题获得白色粗体文本和深蓝色背景。日期和货币列获得适当的数字格式。Excel 窗口将可见以显示结果。
处理多个工作表
此示例展示了如何处理工作簿中的多个工作表。它演示了添加、命名和复制工作表。该脚本还展示了如何在工作表之间导航。
Set excel = CreateObject("Excel.Application")
Set workbook = excel.Workbooks.Add()
' Add and name new worksheets
Set sheet1 = workbook.Worksheets(1)
sheet1.Name = "Main"
Set sheet2 = workbook.Worksheets.Add()
sheet2.Name = "Backup"
' Copy data between sheets
sheet1.Range("A1").Value = "Original Data"
sheet1.Range("A1").Copy sheet2.Range("A1")
' Activate different sheets
sheet2.Activate
WScript.Echo "Active sheet: " & excel.ActiveSheet.Name
excel.Visible = True
' Cleanup
Set sheet2 = Nothing
Set sheet1 = Nothing
Set workbook = Nothing
Set excel = Nothing
该脚本创建一个包含两个已命名工作簿的工作簿。它将数据从第一个工作表复制到第二个工作表。Activate 方法用于在工作表之间切换。在显示 Excel 之前,将显示活动工作表的名称。
来源
在本文中,我们探讨了 VBScript 中的 Worksheet 对象,涵盖了它的用法和实际应用。从基本单元格操作到格式设置和多工作表管理,这些示例展示了 Excel 自动化。有了这些知识,您就可以创建强大的 Excel 自动化脚本。