IBM Lotus Symphony


Dir 函数 [运行时]

返回驱动器上或目录中与指定搜索路径相匹配的一个文件、目录或所有文件和目录的名称。

语法:

Dir [(Text As String) [, Attrib As Integer]]

返回值:

字符串

参数:

Text:指定搜索路径、目录或文件的任何字符串表达式。只能在首次调用 Dir 函数时指定该参数。如果需要,可以使用 URL 表示法输入路径。

Attrib:指定按位文件属性的任何整型表达式。Dir 函数仅返回与指定属性匹配的文件或目录。通过添加以下属性值,可以将一些属性合并:

0:常规文件。

16:只返回目录名。

使用此属性来检查文件或目录是否存在,或者确定所有文件和文件夹位于特定目录中。

要检查文件是否存在,请输入文件的完整路径和名称。如果文件名或目录名不存在,那么 Dir 函数会返回一个零长度字符串("")。

要在特定目录中生成所有现有文件的列表,请执行以下操作:首次调用 Dir 函数时,请指定文件的完整搜索路径,例如,“D:\Files\*.sxw”。如果路径正确且至少搜索到一个文件,那么 Dir 函数会返回与搜索路径匹配的首个文件的名称。要返回与路径匹配的其他文件名,请再次调用 Dir,而不使用参数。

要只返回目录,请使用属性参数。如果要确定卷(例如,硬盘驱动器分区)的名称,该方法同样适用

错误代码

5 无效的过程调用

53 未找到文件

示例:

Sub ExampleDir

REM Displays all files and directories

Dim sPath As String

Dim sDir as String, sValue as String

sDir="Directories:"

sPath = CurDir

sValue = Dir$(sPath + getPathSeparator + "*",16)

Do

If sValue <> "." and sValue <> ".." Then

if (GetAttr( sPath + getPathSeparator + sValue) AND 16) >0 then

REM get the directories

sDir = sDir & chr(13) & sValue

Loop Until sFile = ""

Loop Until sFile = ""

sValue = Dir$

Loop Until sValue = ""

MsgBox sDir,0,sPath

End If


产品反馈 | 其他文档 | 商标