Microsoft Excel中的应用程序对象excel对象模型

时间:2013-02-25 18:18:45

标签: vbscript excel.application

今天在练习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:驱动器中创建工作表 请告诉我两种方法之间是否有任何区别。

1 个答案:

答案 0 :(得分:1)

如果查看the docs,您会看到Application对象(以及其他一些对象,例如Workbook)具有

的Application属性
  

返回表示该创建者的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。