vba中的shell函数可以用来运行可执行程序,它的语法如下:
Shell( pathname [ , windowstyle ] )
如上所示,它有以下两个参数,每个参数的作用如下:
参数 | 说明 |
pathname | 必须的参数;指的是要执行的程序的名称以及需要的参数或者命令行DOS命令。 |
windowstyle | 可选的参数.指的是被运行的程序将要以何种窗体样式显示,如果忽略这个参数,程序将以最小化启动 |
从参数的说明来看,shell函数可以运行任何一个可执行程序或者DOS命令。
所以它有着很广泛的用途,以下是用shell运行可执行程序的示例:
Sub QQ1722187970() '打开注册表 Shell "C:\WINDOWS\regedit.exe", 1 '打开记事本 Shell "C:\WINDOWS\notepad.exe", 1 '打开解压缩软件winrar Shell "C:\Program Files\WinRAR\winrar.exe", 1 End Sub
shell 函数还可以返回值,它的返回值是对应的进程的PID( process identifier)。
操作系统里每打开一个程序,系统就会自动分配一个标识。这个标识是暂时唯一,进程中止后,这个号码就会被回收,并可能被分配给另一个新进程,这个标识就是PID。
感谢