通过 VBA [Excel] 休眠 Win7?

Hibernate Win7 via VBA [Excel]?

我正在寻找一种方法,通过 VBA [Excel 2010] 让我的笔记本 [Win7] 进入休眠状态。我正在寻找解决方案,但找不到方便的解决方案。 我正在玩 SendKeys 方法但没有运气。然后 Shell "C:\WINDOWS\System32\rundll32.exe powrprof.dll,SetSuspendState", vbHide 给了我 Compile error: Invalid outside procedure 消息。 Function ExitWindowsEx 仅提供注销、关闭和重新启动的选项,但据我所知没有休眠。提前感谢您的帮助。

我刚刚成功休眠了我的电脑。这是宏伟的代码:

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 休眠机器愉快!耶!