Hibernate Win7 через VBA [Excel]?
Я ищу способ перевести мой ноутбук [Win7] в спящий режим через VBA [Excel 2010]. Я искал решение, но не смог найти подходящего. Я играл с SendKeys
метод, но не повезло. Тогда Shell "C:\WINDOWS\System32\rundll32.exe powrprof.dll,SetSuspendState", vbHide
дал мне Compile error: Invalid outside procedure
сообщение. Function ExitWindowsEx
дает только выбор для выхода из системы, выключения и перезагрузки, но, насколько я знаю, нет спящего режима. Спасибо за вашу помощь заранее.
1 ответ
Решение
Я только что успешно зимовал мой комп. Вот великолепный код:
Option Explicit
Declare Function SetSuspendState Lib "powrprof.dll" _
(ByVal Hibernate As Boolean, ByVal ForceCritical As Boolean, ByVal DisableWakeEvent As Boolean) As Boolean
Sub Yoo()
Dim value_hibernate As Integer
value_hibernate = SetSuspendState(True, False, False)
If value_hibernate <> 1 Then MsgBox "Hibernation has failed."
End Sub
В некоторых комментариях говорилось, что лучше идти с SetSuspendState
чем PowerState один.
Получайте удовольствие от гибернации ваших машин через VBA! Yaay!