WshShell对象实例(VBA)

WshShell对象实例(VBA)

 

WshSell作为WSH对象一个组成部分,主要可以实现如下功能:

 

1.   在本地运行程序

2.   操纵注册表内容。

3.   创建快捷方式

4.   访问系统文件夹

5.   操纵环境变量(如 WINDIR、PATH 或 PROMPT)

 

先来看一下WshShell都有哪些方法和属性

 

AppActivate

方法

激活一应用程序窗口

CreateShortcut

方法

创建并返回 WshShortcut 对象。

Exec

方法

执行一个外部命令,返回一个对象。

ExpandEnvironmentStrings

方法

扩展 PROCESS 环境变量并返回结果字符串。

LogEvent

方法

写入事件查看器日志

Popup

方法

显示包含指定消息的消息窗口。

RegDelete

方法

从注册表中删除指定的键或值。

RegRead

方法

从注册表中返回指定的键或值。

RegWrite

方法

在注册表中设置指定的键或值。

Run

方法

创建新的进程,该进程用指定的窗口样式执行指定的命令。

SendKeys

方法

发送按键消息

CurrentDirectory

属性

当前目录

Environment

属性

返回 WshEnvironment 集合对象。

SpecialFolders

属性

使用 WshSpecialFolders 对象提供对Windows shell 文件夹的访问,如桌面文件夹,开始菜单文件夹和个人文档文件夹。

 

下面,我们进入VBE来进行WshShell对象代码的实例练习。

 

先在工具->引用中建立对WshShell对象的引用

 

 

2012年06月16日 - V.S.林 - V.S.林 V.S.EXCEL V视觉

 

代码1

 

Sub testAppActivate()

  Dim WshShell As Object

  Set WshShell = CreateObject("WScript.Shell")

  WshShell.AppActivate ("无标题 - 记事本")

End Sub

 

运行结果:将Windows("无标题 - 记事本")设为当前活动窗口。

 

代码2

 

Sub testCreateShortcut()

 

  Dim WshShell As Object, oShellLink As Object, oUrlLink As Object

  Set WshShell = CreateObject("WScript.Shell")

 

  Set oShellLink = WshShell.CreateShortcut("F:\test.lnk")

  oShellLink.TargetPath = ThisWorkbook.FullName

  oShellLink.Save

 

  Set oUrlLink = WshShell.CreateShortcut("F:\VSEXCEL.URL")

  oUrlLink.TargetPath = "http://visardwl.blog.163.com"

  oUrlLink.Save

    

End Sub

 

运行结果:在F盘根目录下建立两个超链接

          test.lnk 指向 包含代码的工作簿

          VSEXCEL.RUL 指向 网站http://visardwl.blog.163.com

 

代码3

 

Sub testExec()

  Dim WshShell As Object

  Set WshShell = CreateObject("WScript.Shell")

  WshShell.Exec "calc"

End Sub

 

运行结果:打开Windows操作系统自带计算器。

 

代码4

 

Sub testPopup()

  Dim WshShell As Object

  Set WshShell = CreateObject("WScript.Shell")

  WshShell.Popup "2秒后自动关闭", 2, "提示"

End Sub

 

运行结果:弹出消息窗,2秒种后自动关闭。

 

代码5

 

Sub testRun()

  Dim WshShell As Object

  Set WshShell = CreateObject("WScript.Shell")

  WshShell.Run "F:\123.txt", 3

End Sub

 

运行结果:打开F盘根目录下名为123.txt的文本文件,并最大化显示。

 

Sub testRun()

  Dim WshShell As Object

  Set WshShell = CreateObject("WScript.Shell")

  WshShell.Run "F:\fly.exe"

End Sub

 

运行结果:运行F盘根目录下可执行文件fly.exe

 

代码6

 

Sub testSendKeys()

  Dim WshShell As Object

  Set WshShell = CreateObject("WScript.Shell")

  WshShell.SendKeys "^{ESC}u"

End Sub

 

运行结果:发送按键信息,Ctrl+ESC再按U,相当于点开始,再点关闭计算机。

posted @ 2020-04-05 19:11  天涯海角路  阅读(2425)  评论(0编辑  收藏  举报