- ベストアンサー
vbaで「休止状態」にする方法
- vbaで休止状態にする方法について教えてください。
- vbaで「シャットダウンのダイアログが出るタイプ」はできるが、スタンバイ機能がvistaにないため、スタンバイする方法がわかりません。
- vistaでスタンバイ状態にする方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Sub Macro() Shell ("C:\Windows\System32\rundll32.exe powrprof.dll,SetSuspendState") End Sub XPでしたら、これでOKですが、はて Vista では?
その他の回答 (2)
- DOUGLAS_
- ベストアンサー率74% (397/534)
#DOUGLAS_ です。たびたび失礼いたします。 ≦(._.)≧ さきほどのは、意味不明な中国語の サイト から無理矢理引っ張ってきましたので、多分 エラー 発生、あるいは動作しないかと存じます。 で、 http://scripting.cocolog-nifty.com/blog/2007/04/post_5183.html を参考にして Sub Macro() CreateObject("Excel.Application").ExecuteExcel4Macro "CALL(""PowrProf.dll"",""SetSuspendState"",""JJJJ"",0,0,0)" End Sub で「スタンバイ」にできました(ただし、XPです)。
お礼
できました。 しかし自分で質問して不安に思ったのですが スリープと休止状態の違いがよくわかっていませんでした。 でもスリープでもよくなってきました。 何度もありがとうございます。
- DOUGLAS_
- ベストアンサー率74% (397/534)
[回答番号:No.1] の DOUGLAS_ です。 >早速やってみたところ、スリープモードになってしまいました。 手許に、Vista の パソコンがありませんので確認ができず、何の根拠もございませんが、「SetSuspendState」を SetStandbyState SetSuspendState SetHibernateState などに変えてお試しください。
お礼
SetStandbyState は「エラーが発生しました」というメッセージがでます。 SetSuspendStateはスリープモード?回復に時間がかかるからスタンバイ? SetHibernateState は「エラーが発生しました」というメッセージがでます。 でした。
お礼
ありがとうございます。 早速やってみたところ、スリープモードになってしまいました。 XPのスタンバイ=vistaのスリープなのかもしれません。