| 
    
     |  | 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 としたファイルを、デスクトップにでも
 保存しておいたら便利でしょう。これは元々、そういう使い方を想定
 したコードだからです。
 
 |  |