想学习vbsvbs脚本编程简明教程,请问系统的教程有哪些?

VBS的入门教程哪些比较好?想学习VBS,初学者,有什么好的参考书合适?_百度知道
VBS的入门教程哪些比较好?想学习VBS,初学者,有什么好的参考书合适?
提问者采纳
给我邮件地址,我分享你一些。
提问者评价
其他类似问题
散的教程网上有很多,其它书网上也应该搜的到,我有一本“VBScript程序员参考手册”,书的话
为您推荐:
vbs的相关知识
其他1条回答
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁VBS编写的一个小程序 - 推酷
VBS编写的一个小程序
最近工作上遇到了一个需求,以前都是手工去处理,但是我嫌麻烦,所以打算有脚本的方式来处理,但是用bat发现有些功能做不到,然后考虑到了VBS语言。
什么是VBS?
中文名:微软公司可视化BASIC语言-脚本版
英文名:Microsoft Visual Basic Script Edition
通俗:就是windows自带的比bat可视化一点的脚本。
目前的需求是这样的:
现在在有这么一个文本文件(txt)需要把它重命名成zyhg?????001YYYYMMDD.txt,这个日期是当日日期。
对zyhg这个文件删除前两行。
针对zyhg这个txt文件生成对应格式的flg文件,文件名同zyhg文件。格式具体见下表格。
使用rar格式,把同目录中zyhg开头的文件全部打包成压缩包,文件名为zxbsXXXXXYYYYMMDD001.rar。
针对rar这个文件,生成对应格式的flg文件,文件名同rar文件。flg文件中记录数就填压缩包中的文件个数。
数据文件名称
以字节为单位,左对齐,不足部分补空格
文件生成日期
YYYYMMDD格式
文件生成时间
HHMMSS格式
左对齐,不足部分补空格
数据文件校验码
MD5校验码,左对齐,不足部分补空格,字母为大写
这个vbs包含了好多有用的东西,大部分的东西我都做成了函数,如果想学习vbs的话,可以看看这个代码,学习一下,确实蛮有意思的。
REM Author : Laycher
REM DATE:
DIM target_dir,hybh,shpbu,today,tomorrow,content,srcFile,srcPath,rarPath
DIM zyhgName,zyhgTxtFullName,zyhgFlgFullName,zxbsName,zxbsRarFullName,zxbsFlgFullName
DIM fileName,fileDate,fileTime,fileSize,fileRows,fileMD5,fileCount
REM ?????对应的值
hybh=&00102&
REM XXXXX对应的值
shpbu=&20801&
REM rar的具体路径
rarPath=&D:\Program Files\TotalCMD64\Plugins\wcx\Rar\Rar.exe&
REM -------------------------------------------------------------以下是程序代码,不需要修改----------------------------------------------------
MsgBox &作者:Laycher&&VbCrlf&VbCrlf&&提示:点击确定后请在后面的文件选择框中选择恒生导出来的txt文件,此程序会删除文件中的前两行,无需手工删除。另外选择的文件目录请不要包含zyhg开头的多余文件。&&VbCrlf&&Tips:脚本执行稍微有点慢,大概15秒左右处理完成&,vbInformation,&相关提示&
today=year(Now)&Month(Now)&day(Now)
tomorrow=DateAdd(&d&, 1, date)
REM 只存在明天是周六的情况
if DatePart(&w&, tomorrow,&2&) =&6& then
tomorrow=DateAdd(&d&, 2, tomorrow)
tomorrow=DatePart(&yyyy&,tomorrow) & Right(&0& & DatePart(&m&,tomorrow), 2)
& Right(&0& & DatePart(&d&,tomorrow),2)
REM 选择要处理的源文件
srcFile=BrowseForFile()
If srcFile =&& Then
REM 未选择则直接退出
Wscript.Quit
REM 获取源文件路径
target_dir=getFilePath(srcFile)
x=msgbox(&文件所在目录为:&?_dir&VbCrlf&&当日日期是:&&today&VbCrlf&&下一交易日:&&tomorrow&VbCrlf&&rar.exe的路径:&&rarPath&VbCrlf&&?????的值:&&hybh&VbCrlf&&XXXXX的值:&&shpbu&VbCrlf&VbCrlf&&是否正确?&&VbCrlf&&如果不正确请修改脚本中的内容。&,4097,&请确认&)
'CreateObject(&wscript.shell&).sendkeys &{enter}&
if x=Vbcancel then
Wscript.Quit
elseif x=VbOk Then
先拷贝成要求的txt文件
Set FSO=CreateObject(&Scripting.FileSystemObject&)
REM Set f1=fso.GetFile(target_dir&&\test.txt&)
zyhgName=&zyhg&&hybh&&001&&today
zyhgTxtFullName=target_dir&&\&&zyhgName&&.txt&
zyhgFlgFullName=target_dir&&\&&zyhgName&&.flg&
zxbsName=&zxbs&&shpbu&tomorrow&&001&
zxbsRarFullName=target_dir&&\&&zxbsName&&.rar&
zxbsFlgFullName=target_dir&&\&&zxbsName&&.flg&
REM 先删除原先的文件
deleteFile(zyhgTxtFullName)
deleteFile(zyhgFlgFullName)
deleteFile(zxbsRarFullName)
deleteFile(zxbsFlgFullName)
REM 把源文件拷贝成目标文件
fso.CopyFile srcFile,zyhgTxtFullName,False
REM 删除多余的前两行
DeleteLine zyhgTxtFullName,&&,1,0
DeleteLine zyhgTxtFullName,&&,1,0
REM 拼凑flg文件中的内容
fileSize=getFileSize(zyhgTxtFullName)
fileDate=getFileCreateDate(zyhgTxtFullName)
fileTime=getFileCreateTime(zyhgTxtFullName)
fileRows=getFileRows(zyhgTxtFullName)
fileMD5=getFileMD5(zyhgTxtFullName)
content=zyhgName&&.txt&&space(60-len(zyhgName&&.txt&))&&&&&fileSize&space(16-len(fileSize))&&&&&fileDate&&&&&fileTime&&&&&fileRows&space(12-len(fileRows))&&&&&fileMD5&space(64-len(fileMD5))&&&&&Space(64)
REM 生成对应的flg文件
createFile zyhgFlgFullName,content
REM 创建RAR文件
rarFiles rarPath,zxbsRarFullName,target_dir,&zyhg*&
REM 必须要等一下,否则后面执行太快,找不到文件的
WScript.Sleep 1000 '1000毫秒
'MsgBox &压缩完成&&zxbsRarFullName
REM 拼凑flg文件中的内容
fileSize=getFileSize(zxbsRarFullName)
fileDate=getFileCreateDate(zxbsRarFullName)
fileTime=getFileCreateTime(zxbsRarFullName)
fileCount=getFileCount(target_dir,&zyhg&)
fileMD5=getFileMD5(zxbsRarFullName)
content=zxbsName&&.rar&&space(60-len(zxbsName&&.rar&))&&&&&fileSize&space(16-len(fileSize))&&&&&fileDate&&&&&fileTime&&&&&fileCount&space(12-len(fileCount))&&&&&fileMD5&space(64-len(fileMD5))&&&&&Space(64)
REM 生成对应的flg文件
createFile zxbsFlgFullName,content
MsgBox &文件生成完成,请上传!&&vbCrLf&&路径:&?_dir,vbInformation,&完成&
Wscript.Quit
Wscript.Quit
REM --------------------------------------------------------以下是调用的函数------------------------------------------------------------
'获取文件大小
'fileName 文件路径和文件名组成
文件大小,单位为字节
function getFileSize(fileName)
Dim fso, f, s
Set fso = CreateObject(&Scripting.FileSystemObject&)
REM Set f = fso.GetFolder(filespec)
If fso.FileExists(fileName) Then
Set f = fso.GetFile(fileName)
getFileSize=f.size
MsgBox fileName&&不存在,请检查脚本&,48,&错误提示&
REM s = UCase(f.Name) & & 大小为 & & f.size & & 字节。&
end function
'获取文件创建日期
'fileName 文件路径和文件名组成
文件的创建日期,YYYYMMDD格式
function getFileCreateDate(fileName)
set fso=createobject(&Scripting.FileSystemObject&)
set fn=fso.GetFile(fileName)
getFileCreateDate=Replace(Left(fn.DateCreated,Instr(fn.DateCreated,& &)-1),&/&,&&)
end function
'获取文件创建时间
'fileName 文件路径和文件名组成
文件的创建时间,HHMMSS格式
function getFileCreateTime(fileName)
set fso=createobject(&Scripting.FileSystemObject&)
set fn=fso.GetFile(fileName)
getFileCreateTime=Replace(Mid(fn.DateCreated,InstrRev(fn.DateCreated,& &)+1),&:&,&&)
end function
'Function ReadAllTextFile
''vbCr Chr(13) 回车符。
''vbCrLf 搜索Chr(13) & Chr(10) 回车符与换行符。
''vbLf Chr(10) 换行符。
' Const ForReading = 1, ForWriting = 2
' Dim fso, f
' Set fso = CreateObject(&Scripting.FileSystemObject&)
' Set f = fso.OpenTextFile(&c:testfile.txt&, ForWriting, True)
' f.Write &世界你好!&
' Set f = fso.OpenTextFile(&c:testfile.txt&, ForReading)
'ReadAllTextFile =
' End Function
'获取文件行数
'fileName 文件路径和文件名组成
文件的行数,根据回车符来计算的
function getFileRows(fileName)
set fso=createobject(&Scripting.FileSystemObject&)
set fn=fso.opentextfile(fileName,1)
'msgbox(fn.readall)
getFileRows=ubound(split(fn.readall,vbCrLf))
end Function
'获取文件行数
文件路径和文件名组成
左起的关键字
文件的行数,根据回车符来计算的
function getFileCount(filePath,strKey)
set fso=CreateObject(&Scripting.FileSystemObject&)
for each f in fso.getfolder(filePath).files
'if fso.getextensionname(f.path)=&wma& then k=k+1
if left(f.name,Len(strKey))=strKey Or Len(Trim(strKey))=0 then k=k+1
getFileCount=k
End Function
文件路径和文件名组成
'content 文件内容
function createFile(fileName,content)
Set fso = CreateObject(&scripting.filesystemobject&)
Set myfile=fso.CreateTextFile( fileName,,ture)
str=Split(content, VbCrlf)
content=&&
For Each i In str
myfile.WriteLine i
myfile.Close
end function
'删除文件中的关键字或者某行
Function DeleteLine(strFile, strKey, LineNumber, CheckCase)
'DeleteLine Function by TomRiddle 2008
'Remove line(s) containing text (strKey) from text file (strFile)
'Remove line number from text file (strFile)
'Remove line number if containing text (strKey) from text file (strFile)
'Use strFile = &c:\file.txt& (Full path to text file)
'Use strKey = &John Doe& (Lines containing this text string to be deleted)
'Use strKey = && (To not use keyword search)
'Use LineNumber = &1& (Enter specific line number to delete)
'Use LineNumber = &0& (To ignore line numbers)
'Use CheckCase = &1& (For case sensitive search )
'Use CheckCase = &0& (To ignore upper/lower case characters)
Const ForReading=1:Const ForWriting=2
Dim objFSO,objFile,Count,strLine,strLineCase,strNewFile
Set objFSO=CreateObject(&Scripting.FileSystemObject&)
Set objFile=objFSO.OpenTextFile(strFile,ForReading)
Do Until objFile.AtEndOfStream
strLine=objFile.Readline
If CheckCase=0 then strLineCase=ucase(strLine):strKey=ucase(strKey)
If LineNumber=objFile.Line-1 or LineNumber=0 then
If instr(strLine,strKey) or instr(strLineCase,strkey) or strKey=&& then
strNewFile=strNewFile
strNewFile=strNewFile&strLine&vbcrlf
strNewFile=strNewFile&strLine&vbcrlf
objFile.Close
Set objFSO=CreateObject(&Scripting.FileSystemObject&)
Set objFile=objFSO.OpenTextFile(strFile,ForWriting)
objFile.Write strNewFile
objFile.Close
End Function
'获取文件的MD5值
'Function MD5Sum(filename)
Dim MyStream, MyHashed, MD5Value
Set MyStream = CreateObject(&ADODB.Stream&)
MyStream.Type = 1
MyStream.Open()
MyStream.LoadFromFile(filename)
Set MyHashed = CreateObject(&CAPICOM.HashedData&)
MyHashed.Algorithm = 3
MyHashed.Hash(MyStream.Read())
MyStream.Close
MD5Value = MyHashed.Value
MD5Sum = MD5Value
'End Function
'获取文件的MD5值
'fileName 文件路径和文件名组成
返回文件的MD5值,大写的
Function getFileMD5(fileName)
Dim file_hash
Dim hash_value
Set wi = CreateObject(&WindowsInstaller.Installer&)
Set file_hash = wi.FileHash(fileName, 0)
hash_value = &&
For i = 1 To file_hash.FieldCount
hash_value = hash_value & BigEndianHex(file_hash.IntegerData(i))
getFileMD5 = hash_value
Set file_hash = Nothing
Set wi = Nothing
End Function
Function BigEndianHex(Int)
Dim result
Dim b1, b2, b3, b4
result = Hex(Int)
b1 = Mid(result, 7, 2)
b2 = Mid(result, 5, 2)
b3 = Mid(result, 3, 2)
b4 = Mid(result, 1, 2)
BigEndianHex = b1 & b2 & b3 & b4
End Function
'使用文件选择框选择文件
Function BrowseForFile()
BrowseForFile=CreateObject(&WScript.Shell&).Exec(&mshta vbscript:&&&input type=file id=f&&script&f.click();new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(f.value)[close()];&/script&&&&).StdOut.ReadAll
End Function
'获取文件的所在目录
文件路径和文件名组成
function getFilePath(fileName)
getFilePath=Left(fileName,InStrRev(fileName,&\&)-1)
end function
function deleteFile(fileName)
set fso=createobject(&scripting.filesystemobject&)
REM 如果不存在也不要提示
if (fso.FileExists(fileName)) then
fso.deleteFile fileName
end function
'压缩文件成rar格式
'rar.exe a test.rar test.txt
rar文件路径和文件名组成
'target_dir
源文件路径
文件名组成
Function rarFiles(rarPath,rarName,target_dir,fileName)
SET ws=CreateObject(&wscript.shell&)
'set fso=CreateObject(&scripting.filesystemobject&)
'ws.run &cd &?_dir,0
ws.currentdirectory=target_dir
rarPath=chr(34)&rarPath&chr(34)
'在这里修改文件名,注意不要含有空格
ws.run rarPath&& a &&rarName&& &&fileName,0
End Function
已发表评论数()
已收藏到推刊!
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
没有分页内容
图片无法显示
视频无法显示
与原文不一致VBS基础编程教程 (第1篇)
VBS基础编程教程 (第1篇)
,&如果你想接触以下VBScript也可以,&但既然有编程基础推荐直接去找一些参考书来读,&会比较快.& 什么是VBScript呢?&VBScript的全称是:Microsoft&Visual&Basic&Script&Editon.(微软公司可视化BASIC脚本版).&正如其字面所透露的信息,&VBS(VBScript的进一步简写)是基于Visual&Basic的脚本语言.& 我进一步解释一下,&Microsoft&Visual&Basic是微软公司出品的一套可视化编程工具,&语法基于Basic.&脚本语言,&就是不编译成二进制文件,&直接由宿主(host)解释源代码并执行,&简单点说就是你写的程序不需要编译成.exe,&而是直接给用户发送.vbs的源程序,&用户就能执行了.&  我知道菜鸟现在最关心的就是用什么工具来开发VBS程序了,&答案是:记事本(Notepad).我不是开玩笑,&其实任何一种文本编辑器都可以用来开发VBS开发,&只不过记事本是由系统自带的,&比较好找而已.&尽管如此,&我还是建议你去下载一个专业的文本编辑器,&因为这些工具可以提供&"语法高亮"等功能,&更加方便开发,&用哪一个随你喜好,&我比较喜欢Edit&Plus&(2.10).&   OK,&我们先来写一个VBScript程序热热身.& REM&输入并回显你的名字&' 使用InputBox和Msgbox函数&  复制代码 代码如下:  Dim name,msg msg="请输入你的名字:" name=Inputbox(msg,"名称") Msgbox(name) 把上面的程序清单输入到记事本里面,&然后保存为以.vbs为扩展名的文件("保存类型"里面选择"所有文件").然后双击运行,&观察运行结果.&注意:请自己输入程序清单,&不要复制-&粘贴!&  我来解释一下这个程序,&第一行和第二行的开头分别是"REM"语句和"&'&",&这两个东西的作用是相同的,&表示本行是注释行,&就是说这两行什么也不干,只是用来说明这段程序的功能,&版权信息等等.&注释行是程序最重要的部分之一,&尽管它不是必需的,&但对于其他人阅读源代码,&以及自己分析源代码是很有好处的.&好的习惯是在必要的地方加上清晰,&简洁的注释.&  Dim用来声明一个变量,&在VBS中,&变量类型并不是那么重要,&就是说VBS会帮你自动识别变量类型,&而且变量在使用前不一定要先声明,&程序会动态分配变量空间.&在VBS中你不用考虑name储存的是一个整数还是一个小数(学名叫"浮点数"),&也不用考虑是不是字符串(一串字符,&比如:"Hello&World"),&VBS会自动帮你搞定.&所以第三行语句可以删除,&效果不会变,&但我强烈反对这么做,&一个变量的基本原则就是:先声明,后使用.变量名用字母开头,可以使用下划线,数字,&但不能使用vbs已经定义的字,&比如dim,&也不能是纯数字.&   下一行被称之为"赋值",&"="是赋值符号,&并不是数学中的等于号,&尽管看起来一样.这是正统的理解,&你要理解成等于也没有什么不可.&赋值号的左边是一个变量,&右边是要赋给变量的值,&经过赋值以后,&msg这个变量在程序中等同于"请输入你的名字:"这个字符串,但当msg被再次复制的时候,&原值就会消失.&不光字符串,&其他任何变量都这样被赋值,& 例如:&a=2,&b=12.222等等.&再往下,Inputbox和Msgbox是VBS内建的函数,&一个函数就相当于一个"黑箱",&有输入(参数)和输出(返回值),&你可以不用了解函数是怎么运作的,&只要了解这个函数能干什么就行了,&我们也可以定义自己的函数,&不过那要等到以后再讲.&现在我们只要了解,&一个函数可以有返回值也可以没有,&可以有参数也可以没有.&例如Inputbox就是有返回值的函数,&我们用赋值号左边的变量来"接"住InputBox的返回值--就是你输入的内容.&在inputbox右边的括号里是参数列表,&每个参数用","分隔开,&每个参数有不同的功效,&比如第一个参数会显示在提示里,&我们把msg这个变量作为第一个参数传给了Inputbox&函数,&而msg="请输入你的名字:",&所以我们在对话框的提示栏就会看到"请输入你的名字:"&第二个参数是对话框的标题,&我们用直接量(学名叫"常量",&这里是"字符串常量")传递给函数,&当然你也可以传递变量.&Inputbox还有很多参数,&比如你在"名称"后面再加一个","然后输入随便一串字符(字符串,用双引号""包裹起来的一串字符叫做字符串)然后运行,&看看结果.&你会发现用于输入的文本框有了默认的值,&这就是第三个参数的作用.&Msgbox函数是用来输出的函数,&在VBS中没有专门的输出函数(BASIC中的print,C中的printf),&所以我们只能用对话框来观察输出结果,&Msgbox的必要参数只有一个,&就是要输出的内容,&在这种情况下,&我们不需要理会msgbox的返回值.&关于Msgbox和Inputbox我们以后还会在讨论,&今天只是热热身,&到此为止.&要点:&1)&注释(以REM或'开头)行在程序中不起作用,&但能让别人更容易读懂你的程序.&2)&变量好像一个盒子,&或一个代号,&可以代表你想代表的东西.&变量赋值使用"="&3)&以""包裹起来的字符称之为"字符串"&4)&函数像一个"黑箱",&有参数和返回值,&用"="左边的变量可以接住返回值&5)&Inputbox函数弹出一个输入对话框,Msgbox则用于输出&作业:&1)&试验Inputbox的第三个参数&2)&写一段程序输出你的年龄&3)&写一段程序进行3次输入,&分别输入你和你父母的姓名(要求显示提示),&并分3次输出& 上面的布局太乱了,大家可以参考下面这些文章:VBScript MsgBox 函数VBScript InputBox 函数灵活实用的VBS入门教程基础篇更多的学习技巧就是多看多写,多测试。
&&&主编推荐
H3C认证Java认证Oracle认证
基础英语软考英语项目管理英语职场英语
.NETPowerBuilderWeb开发游戏开发Perl
二级模拟试题一级模拟试题一级考试经验四级考试资料
港口与航道工程建设工程法规及相关知识建设工程经济考试大纲矿业工程市政公用工程通信与广电工程
操作系统汇编语言计算机系统结构人工智能数据库系统微机与接口
软件测试软件外包系统分析与建模敏捷开发
法律法规历年试题软考英语网络管理员系统架构设计师信息系统监理师
高级通信工程师考试大纲设备环境综合能力
路由技术网络存储无线网络网络设备
CPMP考试prince2认证项目范围管理项目配置管理项目管理案例项目经理项目干系人管理
Powerpoint教程WPS教程
电子政务客户关系管理首席信息官办公自动化大数据
职称考试题目
就业指导签约违约职业测评
招生信息考研政治
网络安全安全设置工具使用手机安全
3DMax教程Flash教程CorelDraw教程Director教程
Dreamwaver教程HTML教程网站策划网站运营Frontpage教程
生物识别传感器物联网传输层物联网前沿技术物联网案例分析
互联网电信IT业界IT生活
Java核心技术J2ME教程
Linux系统管理Linux编程Linux安全AIX教程
Windows系统管理Windows教程Windows网络管理Windows故障
组织运营财务资本
视频播放文件压缩杀毒软件输入法微博
数据库开发Sybase数据库Informix数据库
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&&&&&迄今为止,最完整最系统最全面的wscript教程,重零开始学习vbs的法宝法宝,公司培训的内部资料
迄今为止,最完整最系统最全面的wscript教程,重零开始学习vbs的法宝法宝,公司培训的内部资料
目前网上的vbs的资料很少,很缺乏系统全面的教程,今天给给位vbs小白初学者带来一本迄今为止最完整最系统最全面的vbs教程,希望能够对您有所帮助,放心下载,高清pdf格式,这是我从公司内部扫描的tif格式转换过来的,很高清,有目录方便阅读。
嵌到我的页面
<input type="text" readonly="true" value="">
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
操作系统下载排行VBS脚本编程简明教程_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
VBS脚本编程简明教程
上传于||暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
下载文档到电脑,查找使用更方便
还剩88页未读,继续阅读
你可能喜欢

我要回帖

更多关于 vbs数据库编程教程 的文章

 

随机推荐