0

今日、vbスクリプトを練習しているときに、少し疑問が浮かびました。疑問を解消するのを手伝ってください。私はこのコードを書き、D:ドライブにE​​xcelシートを作成しました

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

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 を使用する必要があります。

于 2013-02-25T18:50:05.537 に答える