收藏 分销(赏)

vbs教程(整理于帮助文件).doc

上传人:仙人****88 文档编号:11723964 上传时间:2025-08-09 格式:DOC 页数:39 大小:762.50KB 下载积分:10 金币
下载 相关 举报
vbs教程(整理于帮助文件).doc_第1页
第1页 / 共39页
vbs教程(整理于帮助文件).doc_第2页
第2页 / 共39页


点击查看更多>>
资源描述
一、VBScript 特性 类别 关键字 数组处理 Array 返回包含数组的 Variant。 Dim A A = Array(10,20,30) B = A(2) ' B is now 30 Dim, Private, Public, ReDim 声明变量并分配存储空间。 Dim Names(9) '声明一个具有 10 个元素的数组。 Dim Names() ' 声明动态数组。 Dim MyVar, MyNum ' 声明两个变量。 定义私有变量并分配存储空间。在 Class块中定义私有变量。 Private MyNumber '不同的私有变量。 Private MyArray(9) '私有数组变量。 ' 声明多个不同的私有变量。 Private MyNumber, MyVar, YourNumber 定义公有变量并分配存储空间。在 Class 块中定义私有变量。 Public MyNumber '不同的公有变量。 Public MyArray(9) '公有数组变量。 ' 声明多个不同的公有变量。 Public MyNumber, MyVar, YourNumber 在过程级中声明动态数组变量并分配或重新分配存储空间。 ReDim X(10, 10, 10) . . . ReDim Preserve X(10, 10, 15) IsArray 返回 Boolean 值指明某变量是否为数组。 Dim MyVariable Dim MyArray(3) MyArray(0) = "Sunday" MyArray(1) = "Monday" MyArray(2) = "Tuesday" MyVariable = IsArray(MyArray) ' MyVariable 包含 "True"。 Erase 重新初始化固定大小数组的元素,并释放动态数组的存储空间。 Dim NumArray(9) Dim DynamicArray() ReDim DynamicArray(9) '分配存储空间。 Erase NumArray ' 每一元素都被重新初始化。 Erase DynamicArray '释放数组占用的内存。 LBound, UBound 返回指定数组维的最小可用下标。 返回指定数组维数的最大可用下标。 赋值 Set 将对象引用赋给变量或属性,或者是用一个事件关联一个过程引用。 Function ShowFreeSpace(drvPath) Dim fso, d, s Set fso = CreateObject("Scripting.FileSystemObject") Set d = fso.GetDrive(fso.GetDriveName(drvPath)) s = "Drive " & UCase(drvPath) & " - " s = s & d.VolumeName & "<BR>" s = s & "Free Space: " & FormatNumber(d.FreeSpace/1024, 0) s = s & " Kbytes" ShowFreeSpace = s End Function 程序注释 使用 ' 或 Rem 的程序注释 包含程序中的解释性注释。 Dim MyStr1, MyStr2 MyStr1 = "Hello" : Rem 语句和注释用冒号隔开。 MyStr2 = "Goodbye" ' 这同样是注释不需要冒号。 Rem 在没有代码的行上加注释不必用冒号。 常数/文字 Empty Empty 关键字用于指明未初始化的变量值。 此关键字与 Null 并不相同。 Nothing Nothing 关键字用于取消某对象变量与实际对象的关联。 Set MyObject = Nothing Null Null 关键字用于指明变量包含的数据无效。此关键字与 Empty 并不相同。 True, False True 关键字的值等于 -1。 False 关键字的值为零。 控制流程 Do...Loop 当条件为 True 时或条件变为 True 之前重复执行某语句块。 Do Until DefResp = vbNo MyNum = Int (6 * Rnd + 1) ' 产生 1 到 6 之间的随机数。 DefResp = MsgBox (MyNum & " 想要另一个数吗?", vbYesNo) Loop Dim Check, Counter Check = True: Counter = 0 ' 初始化变量。 Do '外层循环。 Do While Counter < 20 '内层循环。 Counter = Counter + 1 ' 增加计数器。 If Counter = 10 Then ' 如果条件为 True... Check = False ' 将标志值设置为 False。 Exit Do ' 终止内层循环。 End If Loop Loop Until Check = False ' 立即终止外层循环。 For...Next 以指定次数重复执行一组语句。 For I = 1 To 10 For J = 1 To 10 For K = 1 To 10 . . . Next Next Next For Each...Next 对数组或集合中的每个元素重复执行一组语句。 Function ShowFolderList(folderspec) Dim fso, f, f1, fc, s Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.GetFolder(folderspec) Set fc = f.Files For Each f1 in fc s = s & f1.name s = s & "<BR>" Next ShowFolderList = s End Function If...Then...Else 根据表达式的值有条件地执行一组语句。 If A > 10 Then A = A + 1 : B = B + A : C = C + B Select Case 根据表达式的值执行几组语句之一。 Dim Color, MyVar Sub ChangeBackground (Color) MyVar = lcase (Color) Select Case MyVar Case "red" document.bgColor = "red" Case "green" document.bgColor = "green" Case "blue" document.bgColor = "blue" Case Else MsgBox "选择另一种颜色" End Select End Sub While...Wend 当指定的条件为 True 时,执行一系列的语句。 Dim Counter Counter = 0 '初始化变量。 While Counter < 20 ' 测试计数器的值。 Counter = Counter + 1 ' 增加计数器。 Alert Counter Wend ' 计数器大于 19 时终止循环。 With 对一个对象执行一系列的语句。 With MyLabel   .Height = 2000   .Width = 2000   .Caption = "这是MyLabel" End With 转换 Abs 返回数字的绝对值。 Dim MyNumber MyNumber = Abs(50.3 ) '返回 50.3。 MyNumber = Abs(-50.3) '返回 50.3。 Asc, AscB, AscW 返回与字符串的第一个字母对应的 ANSI 字符代码。 Dim MyNumber MyNumber = Asc("A") '返回 65。 MyNumber = Asc("a") '返回 97。 MyNumber = Asc("Apple") '返回 65。 Chr, ChrB, ChrW 返回与指定的 ANSI 字符代码相对应的字符。 Dim MyChar MyChar = Chr(65) '返回 A。 MyChar = Chr(97) '返回 a。 MyChar = Chr(62) '返回 >。 MyChar = Chr(37) '返回 %。 CBool, CByte 返回表达式,此表达式已转换为 Boolean 子类型的 Variant。 Dim A, B, Check A = 5: B = 5 ' 初始化变量。 Check = CBool(A = B) '复选框设为 True 。 A = 0 '定义变量。 Check = CBool(A) '复选框设为 False 。 返回表达式,此表达式已被转换为 Byte 子类型的 Variant。 Dim MyDouble, MyByte MyDouble = 125.5678 ' MyDouble 是一个双精度值。 MyByte = CByte(MyDouble) ' MyByte 包含 126 。 CCur, CDate 返回表达式,此表达式已被转换为 Currency 子类型的 Variant。 Dim MyDouble, MyCurr MyDouble = 543.214588 ' MyDouble 是双精度的。 MyCurr = CCur(MyDouble * 2) '把 MyDouble * 2 (1086.429176) 的结果转换为 ' Currency (1086.4292)。 返回表达式,此表达式已被转换为 Date 子类型的 Variant。 MyDate = "October 19, 1962" ' 定义日期。 MyShortDate = CDate(MyDate) ' 转换为日期数据类型。 MyTime = "4:35:47 PM" ' 定义时间。 MyShortTime = CDate(MyTime) ' 转换为日期数据类型。 CDbl, CInt 返回表达式,此表达式已被转换为 Double 子类型的 Variant。 Dim MyCurr, MyDouble MyCurr = CCur(234.456784) ' MyCurr 是 Currency 型 (234.4567)。 MyDouble = CDbl(MyCurr * 8.2 * 0.01) ' 把结果转换为 Double 型 (19.2254576)。 返回表达式,此表达式已被转换为 Integer 子类型的 Variant。 Dim MyDouble, MyInt MyDouble = 2345.5678 ' MyDouble 是 Double。 MyInt = CInt(MyDouble) ' MyInt 包含 2346。 CLng, CSng, CStr 返回表达式,此表达式已被转换为 Long 子类型的 Variant。 Dim MyVal1, MyVal2, MyLong1, MyLong2 MyVal1 = 25427.45: MyVal2 = 25427.55 ' MyVal1, MyVal2 是双精度值。 MyLong1 = CLng(MyVal1) ' MyLong1 25427。 MyLong2 = CLng(MyVal2) ' MyLong2 包含 25428 。 返回表达式,该表达式已被转换为 Single 子类型的 Variant。 Dim MyDouble1, MyDouble2, MySingle1, MySingle2 ' MyDouble1, MyDouble2 是双精度值。 MyDouble1 = 75.3421115: MyDouble2 = 75.3421555 MySingle1 = CSng(MyDouble1) ' MySingle1 包含 75.34211 。 MySingle2 = CSng(MyDouble2) ' MySingle2 包含 75.34216 。 返回表达式,该表达式已被转换为 String 子类型的 Variant。 Dim MyDouble, MyString MyDouble = 437.324 ' MyDouble 是双精度值。 MyString = CStr(MyDouble) ' MyString 包含 "437.324"。 DateSerial, DateValue 对于指定的年、月、日,返回 Date 子类型的 Variant。 Dim MyDate1, MyDate2 MyDate1 = DateSerial(1970, 1, 1) ' Returns January 1, 1970. MyDate2 = DateSerial(1990 - 10, 8 - 2, 1 - 1) ' Returns May 31, 1980. 返回 Date 子类型的 Variant。 Dim MyDate MyDate = DateValue("September 11, 1963") ' 返回日期。 Hex, Oct 返回表示十六进制数字值的字符串。 Dim MyHex MyHex = Hex(5) ' 返回 5。 MyHex = Hex(10) ' 返回A。 MyHex = Hex(459) '返回 1CB。 返回表示数字八进制值的字符串。 Dim MyOct MyOct = Oct(4) ' 返回 4。 MyOct = Oct(8) ' 返回 10。 MyOct = Oct(459) ' 返回 713。 Fix, Int 返回数字的整数部分。 MyNumber = Int(99.8) ' 返回 99。 MyNumber = Fix(99.2) ' 返回 99。 MyNumber = Int(-99.8) ' 返回 -100。 MyNumber = Fix(-99.8) '返回-99。 MyNumber = Int(-99.2) '返回 -100。 MyNumber = Fix(-99.2) '返回 -99。 返回数字的整数部分。 MyNumber = Int(99.8) ' 返回 99。 MyNumber = Fix(99.2) ' 返回 99。 MyNumber = Int(-99.8) ' 返回 -100。 MyNumber = Fix(-99.8) '返回-99。 MyNumber = Int(-99.2) '返回 -100。 MyNumber = Fix(-99.2) '返回 -99。 Sgn 返回表示数字符号的整数。 Dim MyVar1, MyVar2, MyVar3, MySign MyVar1 = 12: MyVar2 = -2.4: MyVar3 = 0 MySign = Sgn(MyVar1) ' 返回 1。 MySign = Sgn(MyVar2) ' 返回 -1。 MySign = Sgn(MyVar3) ' 返回 0。 TimeSerial, TimeValue 返回一个 Date 子类型的 Variant,含有指定时、分、秒的时间。 Dim MyTime1 MyTime1 = TimeSerial(12 - 6, -15, 0) ' 返回 5:45:00 AM. 返回包含时间的 Date 子类型的 Variant。 Dim MyTime MyTime = TimeValue("4:35:17 PM") ' MyTime 包含 "4:35:17 PM"。 日期/时间 Date, Time 返回当前系统日期。 Dim MyDate MyDate = Date ' MyDate 包含当前系统日期。 返回 Date 子类型 Variant,指示当前系统时间。 Dim MyTime MyTime = Time ' 返回当前系统时间。 DateAdd, DateDiff, DatePart 返回已添加指定时间间隔的日期。 NewDate = DateAdd("m", 1, "31-Jan-95") 返回两个日期之间的时间间隔。 Function DiffADate(theDate) DiffADate = "从当天开始的天数:" & DateDiff("d", Now, theDate) End Function 返回给定日期的指定部分。 Function GetQuarter(TheDate) GetQuarter = DatePart("q", TheDate) End Function DateSerial, DateValue 对于指定的年、月、日,返回 Date 子类型的 Variant。 Dim MyDate1, MyDate2 MyDate1 = DateSerial(1970, 1, 1) ' Returns January 1, 1970. MyDate2 = DateSerial(1990 - 10, 8 - 2, 1 - 1) ' Returns May 31, 1980. 返回 Date 子类型的 Variant。 Dim MyDate MyDate = DateValue("September 11, 1963") ' 返回日期。 Day, Month, MonthName 返回 1 到 31 之间的一个整数(包括 1 和31),代表某月中的一天。 Dim MyDay MyDay = Day("October 19, 1962") 'MyDay 包含 19。 返回 1 到 12 之间的一个整数(包括 1 和 12),代表一年中的某月。 Dim MyVar MyVar = Month(Now) ' MyVar 包含当前月对应的数字。 返回表明指定月份的字符串。 Dim MyVar MyVar = MonthName(10, True) ' MyVar 包含 "Oct"。 Weekday, WeekdayName, Year 返回代表一星期中某天的整数。 Dim MyDate, MyWeekDay MyDate = #October 19, 1962# ' 分派日期。 MyWeekDay = Weekday(MyDate) ' 由于 MyWeekDay 包含 6 ' MyDate 代表星期五。 返回一个字符串,表示星期中指定的某一天。 Dim MyDate MyDate = WeekDayName(6, True) 'MyDate 包含 Fri。 返回一个代表某年的整数。 Dim MyDate, MyYear MyDate = #October 19, 1962# '分派一日期。 MyYear = Year(MyDate) ' MyYear 包含 1962。 Hour, Minute, Second 返回 0 到 23 之间的一个整数(包括 0 和 23),代表一天中的某一小时。 Dim MyTime, MyHour MyTime = Now MyHour = Hour(MyTime) ' MyHour 包含代表当前时间的数值。 返回 0 到 59 之间的一个整数(包括 0 和59),代表一小时内的某一分钟。 Dim MyVar MyVar = Minute(Now) 返回 0 到 59 之间的一个整数(包括 1 和 59),代表一分钟内的某一秒。 Dim MySec MySec = Second(Now) 'MySec 包含代表当前秒的数字。 Now 根据计算机系统设定的日期和时间返回当前的日期和时间值。 Dim MyVar MyVar = Now ' MyVar 包含当前的日期和时间。 TimeSerial, TimeValue 返回一个 Date 子类型的 Variant,含有指定时、分、秒的时间。 Dim MyTime1 MyTime1 = TimeSerial(12 - 6, -15, 0) ' 返回 5:45:00 AM. 返回包含时间的 Date 子类型的 Variant。 Dim MyTime MyTime = TimeValue("4:35:17 PM") ' MyTime 包含 "4:35:17 PM"。 声明 Class 声明一个类的名称,以及组成该类的变量、属性和方法的定义。 Class name     statements End Class Const 声明用于代替文字值的常数。 Const MyVar = 459 ' 常数默认为 公有。 Private Const MyString = "HELP" ' 定义私有常数。 Const MyStr = "Hello", MyNumber = 3.4567 '在一行上定义多个常数。 Dim, Private, Public, ReDim 声明变量并分配存储空间。 Dim Names(9) '声明一个具有 10 个元素的数组。 Dim Names() ' 声明动态数组。 Dim MyVar, MyNum ' 声明两个变量。 定义私有变量并分配存储空间。在 Class块中定义私有变量。 Private MyNumber '不同的私有变量。 Private MyArray(9) '私有数组变量。 ' 声明多个不同的私有变量。 Private MyNumber, MyVar, YourNumber 定义公有变量并分配存储空间。在 Class 块中定义私有变量。 Public MyNumber '不同的公有变量。 Public MyArray(9) '公有数组变量。 ' 声明多个不同的公有变量。 Public MyNumber, MyVar, YourNumber 在过程级中声明动态数组变量并分配或重新分配存储空间。 ReDim X(10, 10, 10) . . . ReDim Preserve X(10, 10, 15) Function, Sub 声明 Function 过程的名称、参数以及构成其主体的代码。 Function BinarySearch(. . .) . . . ' 未找到该值。返回 False 值。 If lower > upper Then BinarySearch = False Exit Function End If . . . End Function 声明 Sub 过程的名称、参数以及构成其主体的代码。 [Public [Default]| Private] Sub name [(arglist)] [statements] [Exit Sub] [statements] End Sub Property Get, Property Let, Property Set 在 Class 块中,声明构成用来取得(返回)属性的值的属性过程的主体的名称、参数和代码。 在 Class 块中,声明名称、参数和代码等,它们构成了赋值(设置)属性的 Property 过程的主体。 在 Class 块中,声明名称、参数和代码,这些构成了将引用设置到对象的 Property 过程的主体。 错误处理 On Error 启动错误处理程序。 On Error Resume Next Err.Raise 6 '产生溢出错误。 MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description) Err.Clear '清除错误。 Err 含有关于运行时错误的信息。接受用于生成和清除运行时错误的 Raise 和 Clear 方法。 On Error Resume Next Err.Raise 6 '产生溢出错误。 MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description) Err.Clear '清除错误。 表达式 Eval 计算一个表达式的值并返回结果。 Sub GuessANumber Dim Guess, RndNum RndNum = Int((100) * Rnd(1) + 1) Guess = CInt(InputBox("Enter your guess:",,0)) Do If Eval("Guess = RndNum") Then MsgBox "祝贺你!猜对了!" Exit Sub Else Guess = CInt(InputBox("对不起,请再试一次",,0)) End If Loop Until Guess = 0 End Sub Execute 执行一个或多个指定的语句。 Dim X ' 在全局作用域中声明 X。 X = "Global" ' 将全局的 X 赋值。 Sub Proc1 ' 声明过程。 Dim X ' 在局部作用域中声明 X。 X = "Local" ' 对局部的 X 赋值。 ' 此处的 Execute 语句建立了一个过程, ' 在调用该过程时它将打印 X。 ' 它打印的将是全局 X,因为 Proc2 ' 继承了全局作用域中的一切。 Execute "Sub Proc2: Print X: End Sub" Print Eval("X") ' 打印本地 X。 Proc2 ' 在 Proc1 的作用域中调用 Proc2。 End Sub Proc2 ' 本行将导致一个错误,因为 ' Proc2 在 Proc1 之外是不可使用的。 Proc1 ' 调用 Proc1。 Execute "Sub Proc2: Print X: End Sub" Proc2 ' 这句话可以成功,因为 Proc2 ' 现在是全局可用的。 RegExp 提供简单的正则表达式支持功能。 Function RegExpTest(patrn, strng) Dim regEx, Match, Matches ' 建立变量。 Set regEx = New RegExp ' 建立正则表达式。 regEx.Pattern = patrn ' 设置模式。 regEx.IgnoreCase = True ' 设置是否区分字符大小写。 regEx.Global = True ' 设置全局可用性。 Set Matches = regEx.Execute(strng) ' 执行搜索。 For Each Match in Matches ' 遍历匹配集合。 RetStr = RetStr & "Match found at position " RetStr = RetStr & Match.FirstIndex & ". Match Value is '" RetStr = RetStr & Match.Value & "'." & vbCRLF Next RegExpTest = RetStr End Function MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4")) Replace 替换在正则表达式查找中找到的文本。 Function ReplaceTest(patrn, replStr) Dim regEx, str1 ' 建立变量。 str1 = "The quick brown fox jumped over the lazy dog." Set regEx = New RegExp ' 建立正则表达式。 regEx.Pattern = patrn ' 设置模式。 regEx.IgnoreCase = True ' 设置是否区分大小写。 ReplaceTest = regEx.Replace(str1, replStr) ' 作替换。 End Function MsgBox(ReplaceTest("fox", "cat")) ' 将 'fox' 替换为 'cat'。 Test 对指定的字符串执行一个正则表达式搜索,并返回一个 Boolean 值指示是否找到匹配的模式。 Function RegExpTest(patrn, strng) Dim regEx, retVal ' 建立变量。 Set regEx = New RegExp ' 建立正则表达式。 regEx.Pattern = patrn ' 设置模式。 regEx.IgnoreCase = False ' 设置是否区分大小写。 retVal = regEx.Test(strng) ' 执行搜索测试。 If retVal Then RegExpTest = "找到一个或多个匹配。" Else RegExpTest = "未找到匹配。" End If End Function MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4")) 格式化字符串 FormatCurrency 返回表达式,此表达式已被格式化为货币值(使用系统控制面板中定义的货币符号)。 Dim MyCurrency MyCurrency = FormatCurrency(1000) 'MyCurrency 包含 $1000.00 。 FormatDateTime 返回表达式,此表达式已被格式化为日期或时间。 Function GetCurrentDate 'FormatDateTime 把日期型格式化为长日期型。 GetCurrentDate = FormatDateTime(Date, 1) End Function FormatNumber 返回表达式,此表达式已被格式化为数值。 Function FormatNumberDemo Dim MyAngle, MySecant, MyNumber MyAngle = 1.3 ' 用弧度定义角。 MySecant = 1 / Cos(MyAngle) ' 计算正割值。 FormatNumberDemo = FormatNumber(MySecant,4) ' 把 MySecant 格式化为带四位小数点的数。 End Function FormatPercent 返回表达式,此表达式已被格式化为尾随有 % 符号的百分比(乘以 100 )。 Dim MyPercent MyPercent = FormatPercent(2/32) 'MyPercent 包含 6.25%。 输入/输出 InputBox 在对话框中显示提示,等待用户输入文本或单击按钮,并返回文本框内容。 Dim Input Input = InputBox("输入名字") MsgBox ("输入: " & Input) LoadPicture 返回图片对象。 LoadPicture(picturename) MsgBox 在对话框中显示消息,等待用户单击按钮,并返回一个值指示用户单击的按钮。 Dim MyVar MyVar = MsgBox ("Hello World!", 65, "MsgBox 例子") ' MyVar 包含 either 1 or 2, '依赖于被按下的按钮。 文字 Empty Empty 关键字用于指明未初始化的变量值。 此关键字与 Null 并不相同。 False False 关键字的值为零。 Nothing Nothing 关键字用于取消某对象变量与实际对象的关联。 Set MyObject = Nothing Null Null 关键字用于指明变量包含的数据无效。此关键字与 Empty 并不相同。 True True 关键字的值等于 -1。 数学 Atn, Cos, Sin, Tan 返回数值的反正切值。 Dim pi pi = 4 * Atn(1) ' 计算 pi 的值。 返回某个角的余弦值。 Dim MyAngle, MySecant MyAngle = 1.3 ' 用弧度定义一个角。 MySecant = 1 / Cos(MyAngle) ' 计算正割。 返回某个角的正弦值。 Dim MyAngle, MyCosecant MyAngle = 1.3 ' 用弧度定义角度。 MyCosecant = 1 / Sin(MyAngle) '计算余割。 返回某个角的正切值。 Dim MyAngle, MyCotangent MyAngle = 1.3 ' 用弧度定义角度。 MyCotangent = 1 / Tan(MyAngle) ' 计算余切。 Exp, Log, Sqr 返回 e(自然对数的底)的幂次方。 Dim MyAngle, MyHSin ' 用弧度定义角。 MyAngle = 1.3
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服