(转载)
◎Vbs脚本编程简明教程之十四—VBS内置函数
Abs函数:返回数的绝对值。
Array函数:返回含有数组的变体。
Asc函数:返回字符串首字母的ANSI字符码。
Atn函数:返回数值的反正切。
CBool函数:返回已被转换为Boolean子类型的变体的表达式。
CByte函数:返回已被转换为字节子类型的变体的表达式。
CCur函数:返回已被转换为货币子类型的变体的表达式。
CDate函数:返回已被转换为日期子类型的变体的表达式。
CDbl函数:返回已被转换为双精度子类型的变体的表达式。
Chr函数:返回与指定的ANSI字符码相关的字符。
CInt函数:返回已被转换为整形子类型的变体的表达式。
CLng函数;返回已被转换为Long子类型的变体的表达式。
Cos函数:返回角度的余弦。
CreateObject函数:创建并返回对“自动”对象的引用。
CSng函数:返回已被转换为单精度子类型的变体的表达式。
CStr函数:返回已被转换为字符串子类型的变体的表达式。
Date函数:返回当前系统日期。
DateAdd函数:返回的日期已经加上了指定的时间间隔。
DateDiff函数:返回两个日期之间的间隔。
DatePart函数:返回给定日期的指定部分。
DateSerial函数:返回指定年月日的日期子类型的变体。
DateValue函数:返回日期子类型的变体。
Day函数:返回日期,取值范围为1至31。
Eval函数:计算表达式并返回结果。
Exp函数:返回e(自然对数的底) 的多少次方。
Filter函数:根据指定的筛选条件,返回含有字符串数组子集的、下限为0的数组。
Fix函数:返回数的整数部分。
FormatCurrency函数:返回的表达式为货币值格式,其货币符号采用系统控制面板中定义的。
FormatDateTime函数:返回的表达式为日期和时间格式。
FormatNumber函数:返回的表达式为数字格式。
FormatPercent函数:返回的表达式为百分数(乘以100)格式,后面有%符号。
GetObject函数:返回从文件对“自动”对象的引用。
GetRef函数:返回对能够绑定到一事件的过程的引用。
Hex函数:返回一字符串,代表一个数的十六进制值。
Hour函数:返回表示钟点的数字,取值范围为0至23。
InputBox函数:在对话框中显式一提示,等待用户输入文本或单击按钮,并返回文本框的内容。
InStr函数:返回一个字符串在另一个字符串中首次出现的位置。
InStrRev函数;返回一个字符串在另一个字符串中出现的位置,但是从字符串的尾部算起。
Int函数:返回数的整数部分。
IsArray函数:返回Boolean值,反映变量是否为数组。
IsDate函数:返回Boolean值,反映表达式能否转换为日期。
IsEmpty函数:返回Boolean值,反映变量是否已被初始化。
IsNull函数:返回Boolean值,反映表达式是否含有无效数据(Null)。
IsNumeric函数:返回Boolean值,反映表达式能否转换为数字。
IsObject函数:返回Boolean值,反映表达式是否引用了有效的“自动”对象。
Join函数:返回通过连接许多含有数组的子串而创建的字符串。
LBound函数;返回指定维数数组的最小有效下标。
LCase函数:返回的字符串已被转换为小写字母。
Left函数:返回字符串最左边的指定数量的字符。
Len函数:返回字符串中的字符数或存储变量所需的字节数。
LoadPicture函数:返回图片对象。只用于32位平台。
Log函数:返回数的自然对数。
LTrim函数;返回去掉前导空格的字符串。
Mid函数:从字符串中返回指定数量的字符。
Minute函数:返回分钟数,取值范围为0至59。
Month函数:返回表示月份的数,取值范围为1至12。
MonthName函数:返回表示月份的字符串。
MsgBox函数:在对话框中显示消息,等待用户单击按钮,并返回表示用户所击按钮的数值。
Now函数:返回计算机的当前系统日期和时间。
Oct函数:返回表示该数八进制数值的字符串。
Replace函数:返回一字符串,其中指定的子串已被另一个子串替换了规定的次数。
RGB函数:返回代表RGB颜色值的数字。
Right函数:返回字符串最右边的指定数量的字符。
Rnd函数:返回随机数。
Round函数:返回指定位数、四舍五入的数。
RTrim函数:返回去掉尾部空格的字符串副本。
ScriptEngine函数:返回反映使用中的脚本语言的字符串。
ScriptEngineBuildVersion函数:返回使用中的脚本引擎的编译版本号。
ScriptEngineMajorVersion函数:返回使用中的脚本引擎的主版本号。
ScriptEngineMinorVersion函数:返回使用中的脚本引擎的次版本号。
Second函数:返回秒数,取值范围为0至59。
Sgn函数:返回反映数的符号的整数。
Sin函数:返回角度的正弦值。
Space函数:返回由指定数量的空格组成的字符串。
Split函数:返回下限为0的、由指定数量的子串组成的一维数组。
Sqr函数:返回数的平方根。
StrComp函数:返回反映字符串比较结果的数值。
String函数:返回指定长度的重复字符串。
StrReverse函数:返回一字符串,其中字符的顺序与指定的字符串中的顺序相反。
Tan函数:返回角度的正切值。
Time函数:返回表示当前系统时间的“日期”子类型的“变体”。
Timer函数:返回时经子夜12:00
AM后的秒数。
TimeSerial函数:返回含有指定时分秒时间的日期子类型的变体。
TimeValue函数:返回含有时间的日期子类型的变体。
Trim函数:返回去掉前导空格或尾部空格的字符串副本。
TypeName函数:返回一字符串,它提供了关于变量的变体子类型信息。
UBound函数:返回指定维数数组的最大有效下标。
UCase函数:返回的字符串已经被转换为大写字母。
VarType函数:返回标识变体子类型的数值。
Weekday函数:返回表示星期几的数值。
WeekdayName函数:返回表示星期几的字符串。
Year函数:返回表示年份的数值。
◎Vbs脚本编程简明教程之十五——响应事件
什么是事件?在我看来,事件就象我们手机上的闹钟,闹钟一响,我们就要去做某些特定的事情。或者这样说,事件就像警钟,当程序运行时,有特殊的事情发生,就会激发事件,事件本身就是一条消息,如果你编写的脚本要对事件进行处理,就需要一个特殊的过程或者函数来接受和处理事件。那么这个特殊的过程或者函数在程序运行时,就不断的监听,看系统是否传来了相应的事件,一旦接受到事件,脚本对此作出反应。
那么事件是从那里来的呢?是否需要我们在脚本中对事件进行编写呢?一般情况下,事件是某个程序在运行中的特殊状态发出的,我们不需要对事件进行编写,只需要编写处理事件的函数。比如说我们用vbs建立了ie的一个实例,那么当ie的窗口被关闭的时候,就会激发出一个叫做OnQuit的事件。
是不是脚本自然而然就能接受事件并进行处理呢?我们说不是的,在创建对象的时候,我们将使用WSH的createobject命令,例如:
Set bjie=Wscript.createobject(“internetexplorer.application”,”event_”)
注意到了吗?多了一个参数,这个参数的作用是什么呢?它叫做事件接收端,当脚本连接的对象包含事件时,如果对象调用的事件是OnBegin,那么WSH将会在脚本中调用一个event_OnBegin的事件处理程序。当然事件接受端并不是固定的,如果对象将其定义为MyObj_的话,那么事件处理程序将是:MyObj_OnBegin。
是否很熟悉?在打造个性化QQ一讲中,曾经出现过Window_OnSize(cx,cy)函数,它其实就是一个事件处理程序。
让我们来举个实际的例子完整的看看事件的处理过程:
Set
bjie=WScript.CreateObject("InternetExplorer.Application","event_")
objie.Visible=True
MsgBox "请关闭浏览器窗口看看效果!",vbSystemModal
Wscript.sleep 6000
MsgBox "现在已经正常关闭了"
Sub event_onquit()
MsgBox "您确定要关闭浏览器吗?",vbSystemModal
End Sub
这段脚本打开了一个IE窗口,然后要求你关闭IE窗口,当你关闭窗口的时候,自动调用事件响应程序。
qtp测试:vbs对于文本的读写
'读出文本所有内容
Function ReadTxt(pathway)
Dim fso,myfile,i
'Dim ReadLine(10)
Set fso=CreateObject("Scripting.FileSystemObject")
If fso.FileExists(pathway) Then
Set myfile=fso.OpenTextFile(pathway,1,False)
Else
WScript.Echo "该文档不存在"
End If
i=0
If Not myfile.AtEndOfStream Then
While Not myfile.AtEndOfLine
'ReadLine(i)=myfile.ReadLine()
'ReadLine=ReadLine&"
"&myfile.ReadLine()'将所有行数据合在一起
ReadLine=myfile.ReadAll()
Wend
Else
ReadLine="文件内容为空"
End If
myfile.Close()
WScript.Echo ReadLine
End Function
'逐行写入文本数据
Function WriteTxt(pathway,content)
Dim fso,myfile
Set fso=CreateObject("Scripting.FileSystemObject")
ON Error Resume Next
If Not fso.FileExists(pathway) Then
fso.CreateTextFile(pathway)
End If
Set myfile=fso.OpenTextFile(pathway,8,True)
myfile.WriteLine(content)
myfile.Close()
If Err.Number<>0 Then
WScript.Echo Err.Number&Err.Description&" "&Err.Source
End if
End Function
'调用读写函数
Call WriteTxt("C:\Documents and Settings\Administrator\桌面\3.txt","hoho,写入数据测试")
Call ReadTxt("C:\Documents and Settings\Administrator\桌面\3.txt")