分享

自动化关机,VBA代码也可以轻松实现你的合理要求

 剩矿空钱 2019-03-15

大家好,我们今日继续讲解VBA代码解决方案的第75讲内容:在VBA中,利用代码实现定时关机的功能。在许多的程序中我们会看到系统的关机提示,这是如何实现的呢?我们的VBA代码可否也能实现呢?答案当然是肯定的,关机就是利用了系统本身自带的功能,我们要用某函数来调用这个程序。下面就详细的讲解。

调用程序的函数:Shell函数,这个函数可以执行一个可执行文件。

语法如下:Shell(pathname[,windowstyle])

参数

a) pathname是必须的,要执行的程序名,以及任何必需的参数或命令行变量,可能还包括目录或文件夹,以及驱动器。在Macintosh中,可以使用MacID函数来指定一个应用程序的署名而不是名称。下面列举了一些常用的系统程序名称。

打开系统时间: 'Rundll32.exe Shell32.dll,Control_RunDLL Timedate.cpl'

打开系统属性: 'control.exe sysdm.cpl'

打开控制面板: 'control.exe'

Internet 属性: 'control.exe inetcpl.cpl'

显示属性 :'control.exe desk.cpl'

调用计算器: 'calc.exe'

调用画图: 'mspaint'

b) windowstyle是可选的,表示在程序运行时窗口的样式。如果省略,则程序是以具有焦点的最小化窗口来执行的。

vbHide 0 窗口被隐藏,且焦点会移到隐式窗口。

VbNormalFocus 1 窗口具有焦点,且会还原到它原来的大小和位置。

VbMinimizedFocus 2 窗口会以一个具有焦点的图标来显示。

VbMaximizedFocus 3 窗口是一个具有焦点的最大化窗口。

VbNormalNoFocus 4 窗口会被还原到最近使用的大小和位置,而当前活动的窗口仍然保持活动。

VbMinimizedNoFocus 6 窗口会以一个图标来显示。而当前活动的的窗口仍然保持活动。

有的朋友在留言中提到过利用shell函数的问题,其实这个函数的利用价值是非常大的,值得朋友们好好体会。

特别注意点:如果 Shell 函数成功地执行了所要执行的文件,则它会返回程序的任务 ID。任务 ID 是一个唯一的数值,用来指明正在运行的程序。如果 Shell 函数不能打开命名的程序,则会产生错误 。

下面我们看看如果需要定时关机的程序是哪个呢?当然是Shutdown.exe程序。这个是Windows 系统自带一个程序,可以用于关机操作(位置在Windows\System32下),一般情况下Windows系统的关机都可以通过调用程序 shutdown.exe来实现的,同时该程序也可以用于终止正在计划中的关机操作。这个程序是很好玩的,即可以实现本地机的关机,也可以实现远程的关机,由于和本讲的关联不是很大,不做讲解的重点,有兴趣的朋友可以自己看看专门的资料

在VBA中可以使用Shell函数执行Shutdown.exe程序实现定时关闭电脑,如下面的代码所示。

Sub MyShutdown()

Shell ('Shutdown.exe -s -t 30')

End Sub

代码解析:MyShutdown过程使用Shell函数在30秒后自动关闭电脑。就是这么简单。

代码窗口截图:

自动化关机,VBA代码也可以轻松实现你的合理要求

运行窗口:

自动化关机,VBA代码也可以轻松实现你的合理要求

今日内容回向:

1 如何实现系统的自动关机?

2 VBA如何调用系统的自带程序?

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多