用Dir函数,就可以搞定。
Dir函数
返回一个字符串,则表示一个文件名、目录名或文件夹名称,它必须与指定的模式或文件属性、或磁盘卷标相匹配。
语法
Dir[(pathname[,attributes])]
Dir 函数的语法如下几个部分:
部分
pathname 可选参数。用于描述指定文件名的字符串表达式,可能包含目录或文件夹、以及驱动器。如果没有找到路径名
属性任选参数。常用或数值表达式,其一般用于指定文件属性。如果省略,则返回匹配路径名但不包含
设置值
属性参数的设置校正:
基站值描述
vbNormal 0 (步行)
vbReadOnly 1 指定无属性的网络文件
vbHidden 2 指定无属性隐藏的文件
VbSystem 4 指定无属性的网络文件系统文件在Macintosh中不可用。
vbVolume 8 指定卷标文件;如果指定了其他属性,则忽略vbVolume在Macintosh中不可用。
vbDirectory 16 指定无属性文件其路径和文件夹。
vbAlias 64 指定的文件名是别名,仅在 Macintosh 上可用。
注意这些位置是由 VBA 所指定的,在程序代码中的任何位置,都可以使用这些字符来替换真正的数值。
说明
在 Microsoft Windows 中,Dir 支持多字符 (*) 和单字符 (?) 的通配符来指定南瓜文件。
在Macintosh中,这些字符作为合法文件名字符并且不能作为通配符来指定多个文件
由于Macintosh不支持通符,使用文件类型指定文件组。可以使用 MacID 函数指定文件类型而不用文件名。比如,以下语句返回当前文件夹中第一个 TEXT 文件的名称:
Dir("SomePath", MacID("TEXT"))
为选中文件夹中所有文件,指定一个空字符串:
Dir("")
在 Microsoft Windows 中,如果在 Dir 函数中使用 MacID
任何大于256的属性值都被认为是MacID函数的值。
第一次调用Dir函数时,必须指定路径名,否则会产生错误。如果也指定了文件属性,那么就必须包含路径名。
Dir 会返回匹配路径名的第一个文件名。若想得到其他匹配路径名的文件名,再一次调用 Dir,且不要使用参数。如果已没有合乎条件的文件,则 Dir 会返回一个零长度字符串 ("")。一旦返回值零长度字符串,并要再次调用 Dir 时,就必须指定路径名,否则会产生错误。不必访问到所有匹配当前路径名的文件名,就可以更改到一个新的路径名上。
但是,不能以分层方式来调用 Dir 函数。以 vbDirectory 属性来调用 Dir 不能连续地返回子目录。
提示由于文件名并不会以特殊的顺序来返回,所以可以将文件名存储在一个数据库中,然后再对这个数据库排序。
Dir 函数示例
本示例使用 Dir 函数来检查某些文件或目录是否存在。在 Macintosh 计算机上,默认驱动器名称为“HD”,并且路径部分由冒号取代反斜线隔开。而且 Microsoft Windows 的通配符在 Mac 中可以作为有效字符出现在文件名中。也可以使用 MacID 函数来指定文件组。 p>
Dim MyFile,MyPath,MyName
'返回“WIN.INI”(在 Microsoft Windows 中)(如果该文件存在)。
MyFile = Dir(" C:\WINDOWS\WIN.ini")
' 返回带指定扩展名的文件名。如果超过一个 *.ini 文件存在,
' 函数将按条件返回第找到一个文件名。
MyFile = Dir("C:\WINDOWS\*.ini")
'若第二次调用Dir函数,但不带任何参数,则函数将返回相同目录下的下一个 *.ini 文件。
MyFile = Dir
' 返回找到的第一个隐式 *.TXT 文件。
MyFile = Dir
' 返回找到的第一个隐式 *.TXT 文件。 >
MyFile = Dir("*.TXT", vbHidden)
' 显示 C:\ 目录下的名称。
MyPath = "c:\" ' 指定路径。
MyName = Dir(MyPath, vbDirectory) ' 寻找第一项。
Do While MyName lt;gt; "" '开始循环。
'跳过当前的目录及上层目录。
If MyName lt;gt; "." And MyName lt;gt; ".." then
' 使用位置比较来确定 MyName 代表一目录。
If (GetAttr(MyPath amp; MyName) And vbDirectory) = vbDirectory然后
Debug.Print MyName '如果是一个目录,将其名称显示出来。
End If
End If
MyName = Dir '查找下一个目录。
循环