vbs 实际操作 调用外部程序

**vbs调用外部程序**

WSH也就是用来解析Vbs的宿主,本身包含了几个个常用对象:

1、Scripting.FileSystemObject  —>  提供一整套文件系统操作函数

2、Scripting.Dictionary  —>  用来返回存放键值对的字典对象

3、Wscript.Shell  —>  提供一套读取系统信息的函数,如读写注册表、查找指定文件的路径、读取DOS环境变量,读取链接中的设置

4、Wscript.NetWork  —>  提供网络连接和远程打印机管理的函数。(其中,所有Scripting对象都存放在SCRRUN.DLL文件中,所有的Wscript对象都存放在WSHOM.ocx文件中。)

———————————————————————————————————

(打开对应应用如记事本,计算器,文件名或者路径)

option Explicit  '规范定义告诉计算机先声明后使用
dim obj   '变量名
Set obj = CreateObject("Wscript.Shell") 'set将一个对象引用赋给变量

'加true只打开对应的程序,关闭过后才打开下一个
'不加true,两个同时打开
obj.Run "notepad",,true      'notepad 记事本  calc 计算器  winword word文件名
obj.Run """路径名"""   		 '也可以包含路径名,用三个双引号来包含

注意:

run 执行程序的路径,窗口的形式,脚本等待还是继续执行 (三个参数)
run也有返回值,1成功执行,0执行失败

———————————————————————————————————
处理错误

On Error Resume Next ——如果有错误跳过执行下一条语句
err 对象

on error resume next   '如果有错误跳过执行吓一跳
a=11 
b=0 
c=a/b 
if err.number<>0 then  'err.num 错误的个数
'description 原因  source来源
wscript.echo err.number & err.description & err.source 
end if

创建一个文件

dim fs,s 
set fs = wscript.createobject("scripting.filesystemobject")  '创建一个对象 
if(fs.folderexists("C:\Users\93997\Desktop\练习\1")) then  '判断文件是否存在
s = "is available"
else
s = "not exiet"
set folder = fs.createfolder("C:\Users\93997\Desktop\练习\1") '不存在创建一个文件
end if
wscript.echo s  '窗口提示

———————————————————————————————————
打印时间日期

dim date,clock
date = "February 6,2020"  '格式也可以写成#2/6/2020,"16:09:53 PM"
clock = "16:10:59 PM"      '时间也可以这样写

if(isdate(date)) then	  'isdate 用来判断是否可以转换日期
date = CDate(date)
else
msgbox "不能转换"
end if

clock = CDate(clock)
msgbox "当前日期为:" & date & " " & clock  '最后打印出来

———————————————————————————————————
删除文件

dim fs
set fs = createobject("scripting.filesystemobject")
if(fs.folderexists("xxxxxxxxxxxxxxxxxx")) then  '判断文件是否存在
fs.deletefolder("xxxxxxxxxxxxxx")
msgbox "删除成功"
else
msgbox "文件不存在"
end if 

———————————————————————————————————
自动创建文本文件

dim wshshell,autosavetime,txtfilename
autosavetime = 3000
set wshshell = createobject("wscript.shell")
txtfilename = inputbox("请输入你要创建的文件名:")
'打开激活记事本
wshshell.run "notepad"
wscript.sleep 200
wshshell.appactivate "无标题-记事本"
'三用输入名字存盘
wshshell.sendkeys "^s" 'ctrl+s
wscript.sleep 300
wshshell.sendkeys txtfilename
wscript.sleep 300
wshshell.sendkeys "%s" 'alt+s
wscript.sleep autosavetime
'四自动定时存盘
while wshshell.appactivate (txtfilename) = true  'appactivate 是定位到窗口的名字
wshshell.sendkeys "%s"
wscript.sleep autosavetime
wend
wscript.quit

———————————————————————————————————
刷屏

dim s
set s = createobject("wscript.shell")
s.appactivate "长路呀"  '通过应用标题来找位置
wscript.sleep 2000
for i=0 to 20 
s.sendkeys "1"
s.sendkeys "{ENTER}"
next
 **查阅:https://www.jb51.net/article/53280.htm**