怎么查找某个盘里后缀名为TXT的文件是否存在,可能会存在子目录里为什么连续用DIR查找A盘会出错,A盘里没有软盘
Private Sub Command1_Click()
    On Error GoTo ErrVS1
    If Dir("a:\*.txt") <> "" Then
    End If
ErrVS1:
    On Error GoTo ErrVS2
    If Dir("a:\*.txt") <> "" Then
    End If
ErrVS2:
    
End Sub

解决方案 »

  1.   

    他想查找某个文件。其实应该用API来遍历目录和文件实现查找的。
      

  2.   

    回 bluesky23:
    没有软盘是会出错,但我已经加了ON ERROR GOTO了
      

  3.   

    改成以下,找不到文件也不会有出错提示了。。不明白楼主为什么用了两次On Error GoTo 
    Private Sub Command1_Click()    On Error GoTo ErrVS1
        If Dir("a:\*.txt") <> "" Then
        End If
    ErrVS1:
      Resume Next
    End Sub
      

  4.   

    楼主那是写的什么   晕~
    不就是想用Dir遍历搜寻A:\下面是否有*.txt文件么?
    递归就是了!
      

  5.   

    下面连接可以看看
    http://community.csdn.net/Expert/topic/3249/3249785.xml?temp=.1643793
      

  6.   

    我试了也出错,可能Dir()函数只支持本地硬盘。
      

  7.   

    我试了没问题,不弹出错误提示(XP下,VB6):Private Sub Command1_Click()
    On Error GoTo ErrVS1
        If Dir("a:\*.txt") <> "" Then
        End If
        Exit Sub
    ErrVS1:
      MsgBox "error"
    End Sub
      

  8.   

    Private Sub Command2_Click()
        On Error Resume Next
        If Dir("a:\*.txt") <> "" Then
        End If
    End Sub
      

  9.   

    Dir函数示例: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