加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

WshShell对象实例(VBA)

(2014-11-26 11:11:47)
标签:

it

分类: QTP

WshShell对象实例(VBA

 

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

 

1.   在本地运行程序

2.   操纵注册表内容。

3.   创建快捷方式

4.   访问系统文件夹

5.   操纵环境变量(如 WINDIRPATH  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对象的引用

 

 

 

代码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,相当于点开始,再点关闭计算机。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有