Dim MyFile, MyPath, MyName
' 返回“WIN.INI” (如果该文件存在)。 MyFile = Dir(\
' 返回带指定扩展名的文件名。如果超过一个 *.ini 文件存在, ' 函数将返回按条件第一个找到的文件名。 MyFile = Dir(\
' 若第二次调用 Dir 函数,但不带任何参数,则函数将返回同一目录下的下一个 *.ini 文件。 MyFile = Dir
' 返回找到的第一个隐式 *.TXT 文件。 MyFile = Dir(\
' 显示 C:\\ 目录下的名称。 MyPath = \指定路径。
MyName = Dir(MyPath, vbDirectory) ' 找寻第一项。 Do While MyName <> \开始循环。 ' 跳过当前的目录及上层目录。
If MyName <> \ ' 使用位比较来确定 MyName 代表一目录。
If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then Debug.Print MyName ' 如果它是一个目录,将其名称显示出来。 End If End If
MyName = Dir ' 查找下一个目录。 Loop
DoEvents 函数
转让控制权,以便让操作系统处理其它的事件。 语法 DoEvents( ) 说明
DoEvents 函数会返回一个 Integer,以代表 Visual Basic 独立版本中打开的窗体数目,例如,Visual Basic,专业版,在其它的应用程序中,DoEvents 返回 0。
DoEvents 会将控制权传给操作系统。当操作系统处理完队列中的事件,并且在 SendKeys 队列中的所有键也都已送出之后,返回控制权。
DoEvents 对于简化诸如允许用户取消一个已启动的过程 — 例如搜寻一个文件 — 特别有用。对于长时间过程,放弃控制权最好使用定时器或通过委派任务给 ActiveX EXE 部件来完成。以后,任务还是完全独立于应用程序,多任务及时间片由操作系统来处理。
小心 确保以 DoEvents 放弃控制权的过程,在第一次 DoEvents 返回之前,不能再次被其他部分的代码调用;否则会产生不可预料的结果。此外,如果其它的应用程序可能会和本过程以不可预知的方式进行交互操作,那么也不要使用 DoEvents,因为DoEvents 函数示例
下列示例在循环中使用 DoEvents 函数,每当循环完成 1000 次时,将执行让给操作系统。DoEvents 返回仅当主应用程序是 Visual Basic时,打开的窗体个数。
' 创建一个变量来保存加载的 Visual Basic 可见窗体的个数。 Dim I, OpenForms
For I = 1 To 150000 ' 循环开始。
If I Mod 1000 = 0 Then ' 如果循环一已完成了 1000 次。 OpenForms = DoEvents ' 将执行让给操作系统。 End If
Next I ' 将循环计数器加一。 此时不能放弃控制权。
Environ 函数
返回 String,它关连于一个操作系统环境变量。 在 Macintosh 中不可用 语法
Environ({envstring | number})
Environ 函数的语法含有以下这些命名参数: 部分 描述 envstring 可选参数。包含一个环境变量名的字符串表达式。 number 可选参数。数值表达式,用来表示环境字符串在环境字符串表格中的数值顺序。number 参数可以是任意的数值表达式,不过在计算前,它会先转换为一个整数。 说明
如果在环境字符串表格中找不到 envstring,则会返回一个零长度字符串 (\。如果找到,则 Environ 会返回一段文本,文本是赋值给指定的 envstring 的,也就是说,在环境字符串表格中对应那个环境变量的等号 (=) 后面的那段文本。
如果指定了 number,则在环境字符串表格中相应位置上的字符串会返回。在这种情况下,Environ 会返回整个文本,包括 envstring。如果在指定位置上没有环境字符串,那么 Environ 会返回一个零长度字符串。
Environ 函数示例
本示例使用 Environ 函数来提供来自环境变量表中 PATH 语句的长度及路径项目数。
Dim EnvString, Indx, Msg, PathLen ' 声明变量。 Indx = 1 ' 设置索引值的初值为 1。 Do
EnvString = Environ(Indx) ' 取得环境变量。
If Left(EnvString, 5) = \检查 PATH 项。 PathLen = Len(Environ(\取得长度。
Msg = \ Exit Do Else
Indx = Indx + 1 ' 不是 PATH 项, End If ' 则跳过此项,继续检查下一项。 Loop Until EnvString = \If PathLen > 0 Then
MsgBox Msg ' 显示消息。 Else
MsgBox \End If
EOF 函数
返回一个 Integer,它包含 Boolean 值 True,表明已经到达为 Random 或顺序 Input 打开的文件的结尾。 语法
EOF(filenumber)
必要的 filenumber 参数是一个 Integer,包含任何有效的文件号。 说明
使用 EOF 是为了避免因试图在文件结尾处进行输入而产生的错误。
直到到达文件的结尾,EOF 函数都返回 False。对于为访问 Random 或 Binary 而打开的文件,直到最后一次执行的 Get 语句无法读出完整的记录时,EOF 都返回 False。
对于为访问 Binary 而打开的文件,在 EOF 函数返回 True 之前,试图使用 Input 函数读出整个文件的任何尝试都会导致错误发生。在用 Input 函数读出二进制文件时,要用 LOF 和 Loc 函数来替换 EOF 函数,或者将 Get 函数与 EOF 函数配合使用。对于为 Output 打开的文件,EOF 总是返回 True。
EOF 函数示例
本示例使用 EOF 函数来检测文件尾。示例中假设 MYFILE 为有数个文本行的文本文件。
Dim InputData
Open \为输入打开文件。 Do While Not EOF(1) ' 检查文件尾。
Line Input #1, InputData ' 读入一行数据。 Debug.Print InputData ' 在立即窗口中显示。 Loop
Close #1 ' 关闭文件。
Error 函数
返回对应于已知错误号的错误信息。 语法
Error[(errornumber)]
这个可选的 errornumber 参数可以为任何有效的错误号。如果
errornumber 是有效的错误号,但尚未被定义,则 Error 将返回字符串“应用程序定义的错误或对象定义的错误”。如果 errornumber 不是有效的错误号,则会导致错误发生。如果省略 errornumber,就会返回与最近一次运行时错误对应的消息。如果没有发生运行时错误,或者 errornumber 是 0,则 Error 返回一个长度为零的字符串 (\。 说明
请检查 Err 对象的属性设置,以便认定最近一次运行时错误。Error 函数的返回值对应于 Err 对象的 Description 属性。
Error 函数示例
本示例使用 Error 函数来显示指定的错误代号所代表之错误信息。 Dim ErrorNumber
For ErrorNumber = 61 To 64 ' 从错误代号 61 循环到 64。
Debug.Print Error(ErrorNumber) ' 将错误信息在立即窗口中显示。 Next ErrorNumber
Error 函数
返回对应于已知错误号的错误信息。 语法
Error[(errornumber)]
这个可选的 errornumber 参数可以为任何有效的错误号。如果
errornumber 是有效的错误号,但尚未被定义,则 Error 将返回字符串“应用程序定义的错误或对象定义的错误”。如果 errornumber 不是有效的错误号,则会导致错误发生。如果省略 errornumber,就会返回与最近一次运行时错误对应的消息。如果没有发生运行时错误,或者 errornumber 是 0,则 Error 返回一个长度为零的字符串 (\。 说明
请检查 Err 对象的属性设置,以便认定最近一次运行时错误。Error 函数的返回值对应于 Err 对象的 Description 属性。