|
楼主 |
发表于 2009-6-4 17:43
|
显示全部楼层
第10部分 文件操作
技巧173 查找文件或文件夹
在磁盘中查找文件或文件夹,可以使用Dir函数,如下面的代码所示。- #001 Sub mydir()
- #002 Dim mydir As String
- #003 Dim b As Byte
- #004 b = 1
- #005 Range("A:A").ClearContents
- #006 mydir = Dir(ThisWorkbook.Path & "\*.xls", vbNormal)
- #007 Do While mydir <> ""
- #008 Cells(b, 1) = mydir
- #009 mydir = Dir
- #010 b = b + 1
- #011 Loop
- #012 End Sub
复制代码 代码解析:
Mydir过程使用Dir函数在代码所在工作簿的文件夹中查找所有的Excel文件,找到后写入到工作表的A列单元格中。
第2行代码声明变量mydir保存返回的文件名称。
第3行代码声明变量b保存返回的文件数目。
第4行代码设置变量b的初始值。
第5行代码清除A列所有数据。
第6行代码使用Dir函数在代码所在工作簿的文件夹中查找Excel文件。Dir函数返回一个String,用以表示一个文件名、目录名或文件夹名称,语法如下:
Dir[(pathname[, attributes])]
参数pathname是可选的,用来指定文件名的字符串表达式,可能包含目录或文件夹、以及驱动器。如果没有找到pathname,则会返回零长度字符串 ("")。
参数attributes是可选的,常数或数值表达式,其总和用来指定文件属性,如表格所示。如果省略,则会返回不包含属性的匹配文件。
注意 在第一次调用Dir函数时,必须指定pathname,否则会产生错误。
第7行到第11行代码将返回的文件名称写入到A列单元格中。Dir函数会返回匹配 pathname参数的第一个文件名,若想得到其他匹配pathname参数的文件名,需再一次调用Dir函数,且不要使用参数。如果已没有合乎条件的文件,则Dir函数会返回一个零长度字符串 ("")。
运行Mydir过程工作表中如图所示。
|
|