VBA Dir函数



Dir函数



一、题目:



要求编写一段代码,运用Dir函数返回一个文件夹的文件列表。



二、代码:



Sub 示例_1_12() 
  
 
  

    Dim wjm 
  
 
  

    wjm = Dir("C:\WINDOWS\WIN.ini")  
  
 
  

    MsgBox wjm 
  
 
  

    wjm = Dir("C:\WINDOWS\*.ini") 
  
 
  

    wjm = Dir 
  
 
  

    End Sub

三、代码详解



1、Sub 示例_1_12():宏程序的开始语句。宏名为示例_1_12。



2、Dim wjm :变量wjm声明为可变型数据类型。



3、wjm = Dir("C:\WINDOWS\WIN.ini") :



如果该文件存在则返回“WIN.INI”(在C:\Windows 文件夹中) ,把返回的文件名赋给变量wjm 。如果该文件不存在则wjm=””。



4、wjm = Dir("C:\WINDOWS\*.ini") :



返回带指定扩展名的文件名。如果超过一个 *.ini 文件存在,函数将返回按条件第一个找到的文件名。



5、wjm = Dir :



若第二次调用 Dir 函数,但不带任何参数,则函数将返回同一目录下的下一个 *.ini 文件。



 



Dir函数



返回一个字符串 String,用以表示一个文件名、目录名或文件夹名称,它必须与指定的模式或文件属性、或磁盘卷标相匹配。



 



Dir[(pathname[, attributes])]


Dir 函数的语法具有以下几个部分:



pathname 可选参数。用来指定文件名的字符串表达式,可能包含目录或文件夹、以及驱动器。如果没有找到 pathname,则会返回零长度字符串 ("")。 



 



attributes 可选参数。常数或数值表达式,其总和用来指定文件属性。如果省略,则会返回匹配 pathname 但不包含属性的文件。



本示例使用Dir 函数来检查某些文件或目录是否存在。在 Macintosh 计算机上,默认驱动器名称是 “HD” ,并且路径部分由冒号取代反斜线隔开。而且 Microsoft Windows 的通配符在 Mac 中可以作为有效字符出现在文件名中。也可以使用 MacID 函数来指定文件组。



Dim MyFile, MyPath, MyName



 



' 返回“WIN.INI”(如果该文件存在)。



MyFile = Dir("C:\WINDOWS\WIN.ini")



 



' 返回带指定扩展名的文件名。如果超过一个 *.ini 文件存在,



' 函数将返回按条件第一个找到的文件名。



MyFile = Dir("C:\WINDOWS\*.ini")



 



' 若第二次调用 Dir 函数,但不带任何参数,则函数将返回同一目录下的下一个 *.ini 文件。



MyFile = Dir



 



' 返回找到的第一个隐式 *.TXT 文件。



MyFile = Dir("*.TXT", vbHidden)



 



' 显示 C:\ 目录下的名称。



MyPath = "c:\" ' 指定路径。



MyName = Dir(MyPath, vbDirectory)' 找寻第一项。



Do While MyName <> "" ' 开始循环。



' 跳过当前的目录及上层目录



If MyName <> "." And MyName <> ".." Then


' 使用位比较来确定 MyName 代表一目录。



If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then

Debug.Print MyName ' 如果它是一个目录,将其名称显示出来。



End If



End If



MyName = Dir ' 查找下一个目录。



Loop



 


转载于:https://blog.51cto.com/xiweicheng/842828