|
WMIを使うコードでも、出来ることは出来ます。
Sub Win_Off()
Dim objSystemSet As Object, objSystem As Object
ThisWorkbook.Save
Set objSystemSet = _
GetObject("winmgmts:{impersonationLevel=impersonate,(Shutdown)}") _
.InstancesOf("Win32_OperatingSystem")
For Each objSystem In objSystemSet
objSystem.Win32Shutdown 8
Next
End Sub
ただ、ブックを閉じずアプリケーションも立ち上げたままの状態で、
OSを終了して電源を OFF にするという処理は、ちょっと抵抗が
ありますねぇ・・。
いちおう上のコードは、VBA実行ファイル用でもあるので、メモ帖に
Dim objSystemSet, objSystem
Set objSystemSet = _
GetObject("winmgmts:{impersonationLevel=impersonate,(Shutdown)}") _
.InstancesOf("Win32_OperatingSystem")
For Each objSystem In objSystemSet
objSystem.Win32Shutdown 8
Next
とタイプして、拡張子を vbs としたファイルを、デスクトップにでも
保存しておいたら便利でしょう。これは元々、そういう使い方を想定
したコードだからです。
|
|