【Shell函数】点击单元格自动百度搜索
▎具体需求
一位朋友有一个提取Word题库的小程序,如下图:

现在有这样一个小需求,平时需要频繁的复制B列的题干内容,去百度搜索正确答案。
是否可以点击单元格,自动跳转到百度搜索框,并且搜索单元格的内容。
这个是完全可以的。
▎具体思路分析
因为要点击实现跳转,这里我们就要用到工作表的SelectionChange事件。当选择的单元格在B列的时候,执行打开网址的语句。
▎具体代码
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub '如果选择的单元格数量大于1,直接退出
If Target.Column <> 2 Then Exit Sub '如果选择的单元格不是第二列,直接退出
Dim url As String
url = "http://www.baidu.com/s?wd=" + Target.Value '定义百度搜索关键词的网址。
Shell "C:\Program Files\Internet Explorer\IEXPLORE.EXE " & url, vbNormalFocus
'利用Shell函数功能,直接调用默认浏览器,打开这个网址。实现搜索。
End Sub
▎最终效果

▎扩展
Shell函数用法
可以执行.exe .com .bat 的可执行文件,上面用到的就是Shell函数执行explore浏览器exe程序,打开的网址。
打开网址
strurl ="https://www.baidu.com/"
Shell "C:\Program Files\Internet Explorer\IEXPLORE.EXE " & strurl , 1
打开文件夹
Sub sdsd()
Shell "explorer E:\01 项目\03 VSTO\WLtools\bin\Debug", 1
End Sub
最后一个参数1,代表的是打开程序之后的窗口状态。最小化,最大化等等。

操作系统相关功能
注销用户 Shell "shutdown -l"
关闭系统 Shell "shutdown -S -t 0"
重启 Shell "shutdown -R -t 0" 0是代表响应的时间
结束explorer.exe进程 Shell "taskkill /f /im explorer.exe ", vbHide
结束Word程序进程 Shell "taskkill /f /im winword.exe ", vbHide
赞 (0)