ZetCode

VBScript Excel.Application 对象

最后修改于 2025 年 4 月 9 日

VBScript 中的 Excel.Application 对象提供了 Microsoft Excel 的自动化功能。它允许脚本以编程方式创建、修改和操作 Excel 工作簿。该对象是 Excel 对象模型的一部分,可实现强大的电子表格自动化。

通过 Excel.Application,您可以控制 Excel 的界面,处理单元格,并执行计算。它支持创建图表,格式化数据和应用公式。本教程将通过实际示例介绍关键功能,以演示其用法。

Excel.Application 对象概述

Excel.Application 对象代表整个 Excel 应用程序。它是 Excel 自动化的根对象。通过它可以访问工作簿、工作表、区域和其他 Excel 组件。

关键属性包括用于控制 Excel 可视性的 Visible 和用于访问打开的工作簿的 Workbooks。像 Quit 这样的方法可以关闭 Excel。理解此对象对于使用 VBScript 进行 Excel 自动化至关重要。

创建新的 Excel 工作簿

此示例演示了如何创建新的 Excel 实例和工作簿。它展示了基本的 Excel 自动化,包括使应用程序可见。脚本创建一个空白工作簿,并在关闭前暂停。

create_workbook.vbs
Set excelApp = CreateObject("Excel.Application")
excelApp.Visible = True
Set workbook = excelApp.Workbooks.Add()

WScript.Echo "New workbook created. Press OK to close Excel."
excelApp.Quit

Set workbook = Nothing
Set excelApp = Nothing

该脚本创建一个 Excel 应用程序对象并使其可见。使用 Add 方法添加了一个新的工作簿。显示消息后,Excel 会被干净地关闭。请务必释放对象以释放资源。

打开和修改现有工作簿

此示例演示了如何打开现有的 Excel 文件并修改单元格值。它展示了如何访问工作表和区域。更改将被保存回文件。

modify_workbook.vbs
Set excelApp = CreateObject("Excel.Application")
Set workbook = excelApp.Workbooks.Open("C:\Data\Report.xlsx")
Set sheet = workbook.Worksheets(1)

sheet.Range("A1").Value = "Updated Report"
sheet.Range("B2").Value = Now()

workbook.Save
excelApp.Quit

Set sheet = Nothing
Set workbook = Nothing
Set excelApp = Nothing

该脚本打开“Report.xlsx”并访问其第一个工作表。它使用文本更新单元格 A1,并使用当前日期/时间更新单元格 B2。保存更改后,Excel 会关闭。应为生产环境添加适当的错误处理。

从 Excel 读取数据

此示例演示了如何从 Excel 工作表读取值。它展示了如何访问单元格值并遍历区域。数据使用 WScript.Echo 显示。

read_data.vbs
Set excelApp = CreateObject("Excel.Application")
Set workbook = excelApp.Workbooks.Open("C:\Data\Products.xlsx")
Set sheet = workbook.Worksheets("Inventory")

For row = 1 To 5
    product = sheet.Cells(row, 1).Value
    quantity = sheet.Cells(row, 2).Value
    WScript.Echo product & ": " & quantity
Next

excelApp.Quit

Set sheet = Nothing
Set workbook = Nothing
Set excelApp = Nothing

该脚本打开“Products.xlsx”并访问“Inventory”工作表。它读取 A 列和 B 列的前五行数据。将显示每个产品和数量对。读取数据后,Excel 将关闭。

从工作表数据创建图表

此示例展示了如何从工作表数据创建图表。它展示了图表创建和基本格式设置。图表被嵌入到工作表中。

create_chart.vbs
Set excelApp = CreateObject("Excel.Application")
excelApp.Visible = True
Set workbook = excelApp.Workbooks.Add()
Set sheet = workbook.Worksheets(1)

' Add sample data
sheet.Range("A1").Value = "Month"
sheet.Range("B1").Value = "Sales"
sheet.Range("A2:A5").Value = Array("Jan", "Feb", "Mar", "Apr")
sheet.Range("B2:B5").Value = Array(120, 150, 180, 210)

' Create chart
Set chart = sheet.Shapes.AddChart.Chart
chart.ChartType = 51 'xlColumnClustered
chart.SetSourceData sheet.Range("A1:B5")

WScript.Echo "Chart created. Press OK to close Excel."
excelApp.Quit

Set chart = Nothing
Set sheet = Nothing
Set workbook = Nothing
Set excelApp = Nothing

该脚本创建一个包含示例销售数据的新工作簿。根据数据区域创建一个簇状柱形图。图表类型是使用 Excel 内置常量指定的。请务必在使用后清理对象。

使用 Excel 公式

此示例演示了如何通过 VBScript 应用 Excel 公式。它展示了如何在单元格中设置公式并显示结果。工作簿包含基本计算。

excel_formulas.vbs
Set excelApp = CreateObject("Excel.Application")
excelApp.Visible = True
Set workbook = excelApp.Workbooks.Add()
Set sheet = workbook.Worksheets(1)

' Add data
sheet.Range("A1").Value = "Value 1"
sheet.Range("B1").Value = "Value 2"
sheet.Range("A2").Value = 15
sheet.Range("B2").Value = 25

' Add formulas
sheet.Range("C1").Value = "Sum"
sheet.Range("C2").Formula = "=SUM(A2:B2)"
sheet.Range("D1").Value = "Average"
sheet.Range("D2").Formula = "=AVERAGE(A2:B2)"

WScript.Echo "Formulas applied. Press OK to close Excel."
excelApp.Quit

Set sheet = Nothing
Set workbook = Nothing
Set excelApp = Nothing

该脚本创建了一个包含两个输入值的工作簿。它应用 SUMAVERAGE 公式来计算结果。直接使用 Excel 的公式语法。工作簿在关闭前保持可见以供检查。

来源

Excel.Application 对象文档

在本文中,我们探讨了 VBScript 中的 Excel.Application 对象,涵盖了其用法和实际应用。从基本的工作簿操作到图表和公式,这些示例展示了强大的 Excel 自动化功能。有了这些知识,您就可以通过强大的 Excel 集成来增强您的脚本。

作者

我叫 Jan Bodnar,是一名热情的程序员,拥有多年的编程经验。我自 2007 年以来一直撰写编程文章。到目前为止,我已撰写了 1400 多篇文章和 8 本电子书。我在编程教学方面拥有八年以上的经验。

列出所有 VBScript 教程