大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
If Dir("C:\test.xls") "" then
10年积累的成都网站设计、成都网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先做网站设计后付款的网站建设流程,更有英吉沙免费网站建设让你可以放心的选择与我们合作。
MsgBox "文件存在" '当C盘根目录存在test.xls文件时提示“文件存在”
else
MsgBox "文件不存在"
End If
--------------------------------------------------------------------------------
Dir函数
返回一个 String,用以表示一个文件名、目录名或文件夹名称,它必须与指定的模式或文件属性、或磁盘卷标相匹配。
语法
Dir[(pathname[, attributes])]
Dir 函数的语法具有以下几个部分:
部分 描述
pathname 可选参数。用来指定文件名的字符串表达式,可能包含目录或文件夹、以及驱动器。如果没有找到 pathname,则会返回零长度字符串 ("")。
attributes 可选参数。常数或数值表达式,其总和用来指定文件属性。如果省略,则会返回匹配 pathname 但不包含属性的文件。
设置值
attributes 参数的设置可为:
常数 值 描述
vbNormal 0 (缺省) 指定没有属性的文件。
vbReadOnly 1 指定无属性的只读文件
vbHidden 2 指定无属性的隐藏文件
VbSystem 4 指定无属性的系统文件
vbVolume 8 指定卷标文件;如果指定了其它属性,则忽略vbVolume
vbDirectory 16 指定无属性文件及其路径和文件夹。
注意 这些常数是由 VBA 所指定的,在程序代码中的任何位置,可以使用这些常数来替换真正的数值。
说明
Dir 支持多字符 (*) 和单字符 (?) 的通配符来指定多重文件。
由于 Macintosh 不支持通配符,使用文件类型指定文件组。可以使用 MacID 函数指定文件类型而不用文件名。比如,下列语句返回当前文件夹中第一个TEXT文件的名称:
Dir("SomePath", MacID("TEXT"))
为选中文件夹中所有文件,指定一空串:
Dir("")
在 Microsoft Windows 中,如果在Dir函数中使用MacID函数,将产生错误。
任何大于256的attribute值都被认为是MacID 函数的值。
在第一次调用 Dir 函数时,必须指定 pathname,否则会产生错误。如果也指定了文件属性,那么就必须包括 pathname。
Dir 会返回匹配 pathname 的第一个文件名。若想得到其它匹配 pathname 的文件名,再一次调用 Dir,且不要使用参数。如果已没有合乎条件的文件,则 Dir 会返回一个零长度字符串 ("")。一旦返回值为零长度字符串,并要再次调用 Dir 时,就必须指定 pathname,否则会产生错误。不必访问到所有匹配当前 pathname 的文件名,就可以改变到一个新的 pathname 上。但是,不能以递归方式来调用 Dir 函数。以 vbDirectory 属性来调用 Dir 不能连续地返回子目录。
提示 由于文件名并不会以特别的次序来返回,所以可以将文件名存储在一个数组中,然后再对这个数组排序。
dir用来查找文件.
使用dir
Option Explicit
Dim filesearch As String
Dim findflag As Boolean
' 清空搜索结果
Private Sub clrcmd_Click()
lstfiles.Clear
End Sub
' 开始查找文件
Private Sub cmdgo_Click()
Dim starttime As Single
Dim i As Integer
Dim Add As Boolean
lstfiles.Clear '查找文件之前先清空结果
lstdirs.Clear
findflag = True '设置查找标志
stopcmd.Enabled = True '设置停止查找按钮为可用
clrcmd.Enabled = False '设置清空结果按钮为不可用
starttime = Timer '记录开始查找时刻
filesearch = Combo1.Text
' 将查找文件加入到组合框中
For i = 0 To Combo1.ListCount - 1
If Combo1.List(i) Combo1.Text Then
Add = True
Else
Add = False
End If
Next
If Add = True Then
Combo1.AddItem (Combo1.Text)
End If
lstdirs.AddItem (Drive1.Drive "\")
' 执行查找文件
Do
status.Caption = "Searching . . . " lstdirs.List(0)
' 调用函数
findfilesdir lstdirs.List(0)
' 从目录列表中移除
lstdirs.RemoveItem 0
' 中途退出查找
If findflag = False Then
Exit Do
End If
Loop Until lstdirs.ListCount = 0
stopcmd.Enabled = False
clrcmd.Enabled = True
' 显示查找文件的信息
status.Caption = "用时" Timer - starttime "秒 " "找到" lstfiles.ListCount "个文件"
End Sub
' 用来查找文件的函数
Public Sub findfilesdir(DirPath As String)
Dim filestring As String
DirPath = Trim(DirPath)
If Right(DirPath, 1) "\" Then
DirPath = DirPath "\"
End If
' 使用Dir函数获得DirPath目录下的文件或目录
filestring = Dir(DirPath "*.*", vbArchive Or vbHidden Or vbSystem Or vbDirectory)
Do
DoEvents '转让控制权,以便让操作系统处理其它的事件
If filestring = "" Then
Exit Do
Else
If (GetAttr(DirPath filestring) And vbDirectory) Then
If Left(filestring, 1) "." And Left(filestring, 2) ".." Then
lstdirs.AddItem DirPath filestring "\"
End If
Else
' 比较以确定是否是要查找的文件
If (filestring Like filesearch) Then
lstfiles.AddItem DirPath filestring
End If
End If
End If
filestring = Dir ' 返回其他文件名
Loop
End Sub
' 结束退出
Private Sub quitcmd_Click()
Unload Me
End
End Sub
' 停止查找
Private Sub stopcmd_Click()
findflag = False
stopcmd.Enabled = False
End Sub
Private Sub Form_Load()
Combo1.AddItem ("*.*")
End Sub
Dir Function Returns a String representing the name of a file, directory, or folder that matches a specified pattern or file attribute, or the volume label of a drive.以上解释来自MSDN,意思是,dir函数返回一个代表有特定属性的文件名,目录名,或者一个文件夹名的字符串. 一般用来检测是否存在某文件或文件夹. 这是一个例子This example uses the Dir function to check if certain files and directories exist. Dim MyFile, MyPath, MyName ' Returns "WIN.INI" if it exists. MyFile = Dir("C:\WINDOWS\WIN.INI") 不明白请追问
楼上说的都对,但是只说了语法,没说用途,需要强调的是,Dir函数在VB中最主要的用途是确定文件是否存在,不存在就返回空字符串,例如
if dir("c:\1.txt")="" then '如果c:\1.txt不存在,那么...