0

今天在练习vb脚本时,我想出了一点疑问,请帮助消除我的疑问。我已经编写了这段代码并在我的 D: 驱动器中创建了一个 excel 表

dim excel
SET excel=CreateObject("Excel.Application")
excel.Visible=true
excel.application.Workbooks.Add
excel.ActiveWorkbook.SaveAs"D:\pushkar23.xls"
excel.quit
SET excel=nothing

但是如果我换行

excel.application.Workbooks.Add 

excel.Workbooks.Add

然后仍然在我的 D: 驱动器中创建工作表。
请告诉我这两种方法之间是否有任何区别。

4

1 回答 1

1

如果您查看文档,您会看到 Application 对象(以及其他一些对象,例如 Workbook)具有一个 Application 属性,该属性

返回一个表示指定对象的创建者的应用程序对象

它总是一样的:

选项显式

Dim oExcel : Set oExcel = CreateObject("Excel.Application")
WScript.Echo 0, CStr(oExcel Is oExcel.Application)
WScript.Echo 1, CStr(oExcel Is oExcel.Application.Application.Application)
Dim oWB : Set oWB = oExcel.Application.Application.Workbooks.Add
WScript.Echo 2, CStr(oWB.Application Is oExcel.Application)
oExcel.Quit

输出:

0 True
1 True
2 True

但是,为了效率和清晰度,您应该尽可能使用普通的 oExcel。

于 2013-02-25T18:50:05.537 回答