ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何利用vba制作带倒记时的计算机休眠程序?

如何利用vba制作带倒记时的计算机休眠程序?

作者:绿色风 分类: 时间:2022-08-17 浏览:103
楼主
kevinchengcw
Q: 如何利用vba制作带倒记时的计算机休眠程序?
A: 工作表中添加一个按钮,在VBA编辑器中插入个窗体,并插入一个Label及一个命令按钮,修改好命令按键的文字.
窗体中的代码如下:
  1. Private Sub CommandButton1_Click()  '命令按钮单击事件
  2. ExitFunc = True  '公共逻辑变量值设置为真
  3. Unload Me  '卸载窗体
  4. End Sub

  5. Private Sub UserForm_Initialize()  '窗体初始化事件
  6. ExitFunc = False  '公共逻辑变量值设置为假
  7. End Sub
模块中代码如下:
  1. Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)  '声明API函数Sleep用于延时
  2. Public ExitFunc As Boolean  '声明公共逻辑变量

  3. Sub test()  '将此test宏指定给工作表中的按钮
  4. UserForm1.Show 0  '显示窗体
  5. Main  '运行主程序
  6. End Sub

  7. Sub Main()  '主程序
  8. Dim N%
  9. N = 30  '初始化倒计时秒数
  10. Do  '循环执行
  11.     UserForm1.Label1.Caption = N & "秒后进入休眠"  '修改窗体Label的提示字符串内容
  12.     DoEvents  '交还系统控制权使之不影响其他操作
  13.     If ExitFunc Then End  '如果公共逻辑变量值为真进结束整个程序的运行
  14.     Sleep 1000  '延时1秒
  15.     N = N - 1  '倒计时秒数减1
  16. Loop Until N = 0  '倒计时归零前继续循环
  17. Shell Environ("comspec") & " /c rundll32 powrprof.dll,SetSuspendState", vbHide  '利用命令行隐藏执行,调用系统命令使电脑进入休眠状态
  18. Unload UserForm1  '卸载窗体
  19. End Sub
详见附件及素材源帖.
休眠测试.rar



该帖已经同步到 kevinchengcw的微博
2楼
546
k哥的作品 收藏

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap