For Each element In group [statements] [Exit For] [statements] Next [element] 参数
element用来枚举集合或数组中所有元素的变量。对于集合,element 可能是 Variant 变量、通用 Object 变量或任意指定的 Automation 对象变量。对于数组,element 只能是 Variant 变量。 group
对象集合或数组的名称。
statements对于 group 中的每一项执行的一条或多条语句。
说明如果 group 中有至少一个元素,就会进入 For Each 块执行。一旦进入循环,便首先对 group 中第一个元素执行循环中的所有语句。只要 group 中还有其它的元素,就会对每个元素执行循环中的语句。当 group 中的没有其它元素时退出循环,然后从 Next 语句之后的语句继续执行。
Exit For 只能用于 For Each...Next 或 For...Next 控制结构中,提供另一种退出循环的方法。可在循环的任意位置放置任意个 Exit For 语句。Exit For 经常和条件判断语句一起使用(例如 If...Then),并立即将控制权转移到 Next 之后的语句。
可以将一个 For Each...Next 循环放置在另一个之中,组成嵌套式 For Each...Next 循环。但
是每个循环的 element 必须是唯一的。
注意如果省略 Next 语句中的 element,则程序仍会象已包含它一样继续执行。如果 Next 语句在其相应的 For 语句之前出现,则会产生错误。下面例子举例说明如何使用 For Each...Next 语句:
Function ShowFolderList(folderspec) Dim fso, f, f1, fc, s Set fso =
CreateObject(\For Each f1 in fc s = s & f1.name s = s &
\ShowFolderList = s End Function ============================================================== 例 1:测试一个输入数的大小。
i=INPUTBOX(\输入一个数 \
i>100Then MsgBox
\
i=\MsgBox \MsgBox
\ 条件分支语句
If...Then...Else 语句 要求
版本 1 根据表达式的值有条件地执行一组语句。
If condition Then statements [Else elsestatements ] 或者,使用块形式的语法: If condition Then [statements] [ElseIf condition-n Then [elseifstatements]] . . . [Else [elsestatements]] End If
参数 condition
一个或多个下面两种类型的表达式:数值或字符串表达式,其运算结果是 True 或 False。如果 condition 是 Null,则 condition 被视为 False。
形如 TypeOf objectname Is objecttype 的表达式。objectname 是任何对象的引用,而 objecttype 则是任何有效的对象类型。如果 objectname 是 objecttype 所指定的一种对象类型,则表达式为 True;否则为 False。
Statements如果 condition 为 True 时,执行的一条或多条(以冒号分开)语句。 condition-n同 condition。 elseifstatements如果相关的 condition-n 为 True时,执行的一条或多条语句。 elsestatements如果前面没有 condition 或 condition-n 表达式为 True 时,执行的一条或多条语句。说明对于短小简单的测试,可以使用单行形式(第一种语法)。但块形式(第二种语法)提供了比单行形式更强的结构化与适应性,比较容易阅读、维护及调试。 注意在单行语法中,可以执行多条语句作为 If...Then 判断的结果,但所有语句必须在同一行上并且以冒号分开,如下列语句所示:
IfA> 10ThenA=A+ 1 : B = B +A: C = C+ B 当程序运行到 If 块(第二种语法)时,将测试 condition。如果 condition 是 True,则执行 Then 之后的语句。如 condition 是 False,则每个 ElseIf 部分的条件式(如果有的话)会依次计算并加以测试。当找到某个为 True 的条件时,则其相关的 Then 之后的语句会被执行。如没有一个 ElseIf 语句是 True(或没有
ElseIf 子句),则将执行 Else 之后的语句。执行 Then 或 Else 之后的语句以后,将继续执行 End If 之后的语句。
Else 和 ElseIf 子句都是可选项的。在 If 块中可以放置任意多个 ElseIf 子句,但是都必须在 Else 子句之前。If 块语句可以被嵌套,即被包含在另一个 If 块语句之中。 要判断某个语句是否是一个 If 块,可检查 Then 关键字之后是什么。如果在 Then 的同一行之后还有其它非注释的内容,则此语句就是单行形式的 If 语句。 If 块语句必须是某一行的第一条语句,并且必须以 End If 语句结束。
==============================================================
例 2:计算磁盘剩余容量 Dim fso, d, s
drvpath=\
fso.GetDrive(fso.GetDriveName(drvPath)) s = \
d.VolumeName & Chr(10) s = s & \& \
GetDriveName 方法
根据指定路径返回包含驱动器名称的字符串。 object.GetDriveName(path) 参数
object必选项。应为 FileSystemObject 的名称。 path
必选项。路径说明,将根据其中成分返回驱动器名称。说明如果无法确定驱动器,GetDriveName 方法将返回长度为零的字符串 (\。
注意 GetDriveName 只作用于所提供的 path 字符串。不会试图解析路径,也不会检查指定的路径是否存在。
GetDrive 方法
返回相应于指定路径中驱动器的 Drive 对象。 object.GetDrive ( drivespec );
参数
object必选项。应为 FileSystemObject 的名称。 drivespec必选项。drivespec 参数可以是驱动器号 (c) 、带冒号的驱动器号 (c:) 、带冒号和路径分隔符的驱动器号 (c:\\) ,或者任意网络共享的说明 (\\\\computer2\\share1)。说明对于网络共享,需要进行检查以确保共享存在。 如果 drivespec 和可接受的形式不一致或是不存在,那么将产生错误。
要在普通的路径字符串上调用 GetDrive 方法,可以使用以下序列来获取适于作为 drivespec 的字符串。
FreeSpace 属性
向用户返回指定驱动器或网络共享上的可用空间的大小。只读。 object.FreeSpace object 应为 Drive 对象。
说明典型情况中,由 FreeSpace 属性返回的值和由 AvailableSpace 属性返回的值是相同的。对于支持 quotas 的计算机系统来说两者有可能不同。
UCase 函数
返回字符串的大写形式。
UCase(string) string 参数是任意有效的字符串表达式。如果 string 参数中包含 Null,则返回 Null。
说明只有小写字母被转换成大写字母;所有大写字母和非字母字符均保持不变。
下面的示例利用 UCase 函数返回字符串的大写形式:
Dim MyWord MyWord = UCase(\返回\。
FormatNumber 函数
返回表达式,此表达式已被格式化为数值。
函数格式:
FormatNumber(expression [,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers [,GroupDigits]]]]) Arguments Expression 必选项。要被格式化的表达式。
NumDigitsAfterDecimal
可选项。指示小数点右侧显示位数的数值。默认值为 -1,指示使用的是计算机的区域设置。 IncludeLeadingDigit
可选项。三态常数,指示是否显示小数值小数点前面的零。有关数值,请参阅 “设置”部分。 UseParensForNegativeNumbers
可选项。三态常数,指示是否将负值置于括号中。有关数值,请参阅 “设置”部分。 GroupDigits
可选项。三态常数,指示是否使用计算机区域设置中指定的数字分组符号将数字分组。有关数值,请参阅 “设置”部分。设置
IncludeLeadingDigit、UseParensForNegativeNumbers 和 GroupDigits 参数可以有以下值: 常数值描述
TristateTrue -1 True TristateFalse 0 False TristateUseDefault -2 使用计算机区域设置中的设置。
说明当省略一个或多个可选项参数时,由计算机区域设置提供被省略参数的值。
注意所有设置信息均取自区域设置的“数字”附签。下面例子利用 FormatNumber 函数把数值格式化为带四位小数点的数:
Dim MyAngle, MySecant, MyNumber MyAngle = 3 MySecant = 1 / MyAngle
msgbox(MySecant) FormatNumberDemo = FormatNumber(MySecant,4) ' 把 MySecant 格式化为带四位小数 点的数。
msgbox(formatnumberdemo)
============================================================== 例 3:按行读取文本文件内容。
Const ForReading = 1 aa=\objTextFile = objFSO.OpenTextFile _
(\strTextLine = objTextFile.Readline aa=\