我用dir检测某个目录是否存在
比如我要检测的目录为“C:\temp”
但当我的C:\有一个名叫temp的文件时。
dir函数返回目录存在。可目录并不存在。
请问这个问题怎么解决!谢谢!

解决方案 »

  1.   

    用vbDirectory参数指定检测的是目录
      

  2.   

    用Dir确实有点问题,用fso吧If CreateObject("scripting.filesystemobject").FolderExists("c:\temp") Then
       MsgBox "文件夹存在!"
    End If
      

  3.   

    faysky2() :
          fso确实可以。但我要球如果检测到不存在就要建立一个
          可fso的建立目录的方法也不好用了!提示文件已存在。
          api函数也是过了。也不能建立目录。谢谢。
      

  4.   

    Private Sub Form_Load()
    Set fso = CreateObject("scripting.filesystemobject")
    With fso
    If .FolderExists("c:\temp") Then
       MsgBox "文件夹存在!"
    Else
     .CreateFolder ("c:\temp")
    End If
    End With
    Set fso = Nothing
    End Sub
      

  5.   

    引用 microsoft script runtime
      

  6.   

    yinweihong() 
           你的代码测试通过吗?
           我试过了是行不通的!
           提示文件已存在.
      

  7.   

    不需要引用 microsoft script runtimePrivate Sub Form_Load()
        Dim fso As Object, strPath As String
        strPath = "c:\temp"
        Set fso = CreateObject("scripting.filesystemobject")
        With fso
            If .FolderExists(strPath) Then
               MsgBox "文件夹存在!"
            Else
                If Dir(strPath) = "" Then
                    MkDir strPath
                Else
                    MsgBox "已经存在同名文件"
                End If
            End If
        End With
        Set fso = Nothing
    End Sub
      

  8.   

    文件已存在那是因为你上次运行的时候已经创建了C:\temp
      

  9.   

    两位大哥谢了!我搞明白了
    windows是不允许在同一个目录下有文件和文件夹同名的。你们可以试一下哈!
    所以我要的根本无法实现。谢谢二位