Dir 函数

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

语法:


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

返回值:

字符串

参数:

Text」: 用于指定搜索路径、目录或文件的任意字符串表达式。只能在第一次调用 Dir 函数时指定此自变量。如果需要,也可以用 URL 表示法输入路径。

Attrib」: 用于指定按位文件属性的任意整数表达式。Dir 函数只返回与指定属性相匹配的文件或目录。通过将属性值相加,可以将多个属性组合起来:

0: 普通文件。

16: 仅返回目录名称。

使用此属性来检查文件或目录是否存在,或者确定指定目录下的所有文件或文件夹。

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

要生成特定目录下所有现有文件的列表,请执行以下操作: 第一次调用 Dir 函数时,指定完整的文件搜索目录,如「D:\Files\*.ods」。如果指定的路径正确,并且至少搜索到一个文件,Dir 函数将返回与搜索路径相匹配的第一个文件的名称。要返回与路径相匹配的其他文件的名称,请再次调用 Dir 函数,但不用带自变量。

要仅返回目录,请使用该属性参数。这也同样适用于确定卷 (例如硬盘分区) 的名称。

错误代码:

5 无效的过程调用

53 未找到文件

示例:


Sub ExampleDir
' 显示所有文件和目录
Dim sPath As String
Dim sDir As String, sValue As String
    sDir="目录列表:"
    sPath = CurDir
    sValue = Dir$(sPath + getPathSeparator + "*",16)
    Do
        If sValue <> "." And sValue <> ".." Then
            If (GetAttr( sPath + getPathSeparator + sValue) And 16) >0 Then
                ' 获取目录
                sDir = sDir & chr(13) & sValue
            End If
        End If
        sValue = Dir$
    Loop Until sValue = ""
    MsgBox sDir,0,sPath
End Sub

请支持我们!