Vbscript microsoft excel对象模型中的应用程序对象

Vbscript microsoft excel对象模型中的应用程序对象,vbscript,excel.application,Vbscript,Excel.application,今天在练习vb脚本时,我遇到了一个小小的疑问,请帮我澄清一下。我已经编写了这段代码,并在我的D:drive中创建了一个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 但

今天在练习vb脚本时,我遇到了一个小小的疑问,请帮我澄清一下。我已经编写了这段代码,并在我的D:drive中创建了一个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 

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

如果您查看,您将看到应用程序对象(以及其他一些对象,例如工作簿)具有

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

总是一样的:

选项显式

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。

不,没有
。Application.Workbooks.Add
。Workbooks.Add
相同,只是更长。
0 True
1 True
2 True