'**************************************************************************************
Sub testAppActivate()
Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")
'运行前,请确保windows("无标题 - 记事本")已存在。
WshShell.AppActivate ("无标题 - 记事本")
End Sub
'**************************************************************************************
Sub testCreateShortcut() '建立快捷方式
Dim WshShell As Object, oShellLink As Object, oUrlLink As Object
Set WshShell = CreateObject("WScript.Shell")
'指向对象
Set oShellLink = WshShell.CreateShortcut("C:\test.lnk")
oShellLink.TargetPath = ThisWorkbook.FullName
oShellLink.Save
'指向网址
Set oUrlLink = WshShell.CreateShortcut("c:\Excelpx精英培训.URL")
oUrlLink.TargetPath = "
http://www.excelpx.com"
oUrlLink.Save
End Sub
'**************************************************************************************
Sub testExec() '执行一个外部命令
Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")
WshShell.Exec "winmine" '扫雷
WshShell.Exec "calc" '计算器
End Sub
'**************************************************************************************
Sub testExpandEnvironmentStrings() '便于兼容不同系统
Dim WshShell As New WshShell
Set WshShell = CreateObject("WScript.Shell")
Debug.Print WshShell.ExpandEnvironmentStrings("%windir%")
Debug.Print WshShell.ExpandEnvironmentStrings("%ProgramFiles%")
End Sub
'**************************************************************************************
Sub testLogEvent() '写入事件查看器日志
Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")
'WshShell.LogEvent intType, strMessage [,strTarget]
'
'intType Description
'0 SUCCESS (类型:无 ID:0)
'1 ERROR (类型:错误 ID:1)
'2 WARNING (类型:警告 ID:2)
'4 Information (类型:消息 ID:4)
'8 AUDIT_SUCCESS (类型:成功审核 ID:8)
'16 AUDIT_FAILURE (类型:失败审核 ID:8)
WshShell.LogEvent 4, "abc"
End Sub
'**************************************************************************************
Sub testPopup() '弹出消息窗口
Dim WshShell As Object
'新建记事本,单独保存以下两句为*.vbs,可看到效果
Set WshShell = CreateObject("WScript.Shell")
WshShell.Popup "2秒后自动关闭", 2, "提示"
End Sub
'**************************************************************************************
Sub testReg() '读写注册表
Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")
With WshShell
.RegWrite "HKEY_CURRENT_USER\Software\a\b\c", "d"
Debug.Print .RegRead("HKEY_CURRENT_USER\Software\a\b\c")
.RegDelete "HKEY_CURRENT_USER\Software\a\b\c"
End With
End Sub
'**************************************************************************************
Sub testRun() '运行程序或文件
Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "notepad C:\windows\win.ini", 3 '激活窗口并以最大化显示该窗口
End Sub
'**************************************************************************************
Sub testSendKeys() '发送按键消息
Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys "^{ESC}u" '相当于点击开始 - 关闭计算机
End Sub
'**************************************************************************************
Sub testCurrentDirectory() '返回当前目录路径
Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")
MsgBox WshShell.CurrentDirectory
End Sub
'**************************************************************************************
Sub testEnvironment() '环境变量
Dim WshShell As Object, x
Set WshShell = CreateObject("WScript.Shell")
For Each x In WshShell.Environment
Debug.Print x
Next
End Sub
'**************************************************************************************
Sub testSpecialFolders() '特殊文件夹
Dim WshShell As Object, x
Set WshShell = CreateObject("WScript.Shell")
For Each x In WshShell.SpecialFolders
Debug.Print x
Next
End Sub