|
>これがあるとないのとではどのように違ってくるのでしょうか
VBS実行ファイルからなら、そのコードの処理によって開いているブックを閉じ、Excel.exeも閉じてから電源をOff出来るので、より安全と思われます。コードは、
VBSファイルがExcelと関係ない実行ファイルなので、Excelのインスタンスが
現在あるかないかを判断(GetObjectでオブジェクト変数に格納)し、あれば閉じる
という方法にします。従って単に Application.Quit などとは出来ません。以下の
ようになります。
Dim xlApp, objSystemSet, objSystem
On Error Resume Next
Set xlApp = GetObject("Excel.Application")
If Not xlApp Is Nothing Then
xlApp.Save
xlApp.Quit
Set xlApp = Nothing
MsgBox "開いているエクセルは保存処理されました", 64
End If
On Error GoTo 0
Set objSystemSet = GetObject("winmgmts:{impersonationLevel=impersonate,(Shutdown)}").InstancesOf("Win32_OperatingSystem")
For Each objSystem In objSystemSet
objSystem.Win32Shutdown 8
Next
|
|