由于Excel和Windows的关系,天然就赋予了强大的基因。执行个文件真的太小意思了。
![e070d4fc4ed1d17f0d0e1ade5acbaaf5.png](https://i-blog.csdnimg.cn/blog_migrate/0fa20e5a547e8bda799eefbc4716b81a.jpeg)
vba shell 函数
格式:Shell(PathName[,WindowStyle])
PathName :要执行的程序名,包括目录或文件夹
WindowStyle :程序运行时窗口的样式
例:Shell "control.exe" '打开Windows控制面板
更多功能看下图,说了基因强大,由于是一个家族的软件,所以在windows系统之下,无所不能的样子,有兴趣可以自己去发现。
使用方法
![5f23b146e896fd76d485f73ebc0dc5fa.png](https://i-blog.csdnimg.cn/blog_migrate/e452fa235a086d7bd925680a6d1c8ceb.jpeg)
左侧为命令功能代码表,也就是执行命令使用的操作符,具体操作在右边。
下拉组合框可以选择功能,选择之后单击执行,就会执行相应的系统命令。
具体做这个有什么用呢?我也思考了很久,发现可能真没什么用,但是对于一个电脑小白来说,或许有点用处。
比如要打开系统中的某个功能项的时候,就要在开始里找好久,有些根本不知道如何查找。
所以,这个工具的可以拿出来了。
例如,需要打开密码管理,进行密码设置的时候,可以打开这个文件选择密码,单击执行按钮之后,就打开密码管理功能了。
虽然在开始里面也很好找,但是如果要打开组策略呢!是不是就有点犯难了?
也不难,只要认识组策略就以上面的方法操作就可以打开了。
不然就要在控制面板里找啊找。
其实,Shell执行了一个代码:Shell "cmd.exe /c gpedit.msc "
完整代码
![dd6004a2157cc79a7ad2a4dc6801b91c.png](https://i-blog.csdnimg.cn/blog_migrate/e815fc2ca49b52ba43819a00b7aadf8d.jpeg)
这个例子代码量很少,所以就全部贴出来了。
喜欢的赶快收藏起来,不要错过哟。
Option ExplicitPrivate Sub CommandButton1_Click()Dim Strr As StringStrr = Me.OLEObjects("ComboBox1").Object.ValueIf VBA.Len(Strr) = 0 Then Exit SubDim R As Range, Rx As Range''定义功能名称单元格区域Set R = Me.Range("D2:D" & Range("D65535").End(xlUp).Row)For Each Rx In R ''遍历名称 If Rx.Value = Strr Then ''如果找到相同名称 Shell Rx.Offset(0, -1).Value ''执行命令 Exit For End IfNext RxEnd SubPrivate Sub Worksheet_Activate() Dim LsVarr As String LsVarr = Me.Range("D2:D" & Range("D65535").End(xlUp).Row).Address ''ComboBox组合框赋值 Me.OLEObjects("ComboBox1").ListFillRange = LsVarrEnd Sub
Shell命令
![8396e6d7310c75f6d8ec5b5d3cc3ef1c.png](https://i-blog.csdnimg.cn/blog_migrate/73448aef057c1505b1fb8650e985d06c.jpeg)
上图为简单的一些系统命令,收藏备用。