4.7 ワークブックを閉じる
 開いているワークブックを閉じる場合の方法です。エクセルオブジェクトにワークブックを指定してCloseというメソッドを実行します。これも、エクセルマクロと同じですね!
使用例
 Closeの使い方です。例では、c:\happyというフォルダに入っているリスト.xlsというワークブックを開き、5秒後にワークブックを閉じ(@)、エクセルを終了(A)しています。

 この例でも、一応DisplayAlerts = Falseが入っています。ワークブックを閉じるとき「保存しますか?」などのダイアログが一切出ないようにするためです。まぁ、この例では出ませんがね(笑)

 この例では、エクセルの終了(Quit)を行いました。行わないと、VBS(WSH)のプログラムが終了してもエクセルは終了せずそのままになるからです。早い話が、エクセルが出っぱなしになります。出っぱなしになる理由については、4.8 ワークブックを扱うときの注意をどうぞ。

Option Explicit

Dim objExcel

'エクセルオブジェクトを作成します
Set objExcel = CreateObject("Excel.Application")

'エクセル画面を表示します
objExcel.Visible = True

'ワークブックを開きます
objExcel.Workbooks.Open "c:\happy\リスト.xls"

'5秒待ちます
WScript.Sleep(5000)

'各種の確認ダイアログを非表示
objExcel.DisplayAlerts = False

'@開いたワークブックを閉じます
objExcel.Workbooks(1).Close

'Aエクセルを終了します
objExcel.Quit

'エクセルオブジェクトの破棄
Set objExcel = Nothing
 ※例では、エクセルの画面をわざと表示しています
Copyright(C) 1999-2006 結城圭介。 All rights reserved