我要在:c:\ssss目录下建立以年代为时间界限的很多目录,比如:c:\ssss\2003,c:\ssss\2004,c:\ssss\2005,c:\ssss\2006.....,怎么搞!我的代码:
FileDir:c:\ssss
YearDir:根据日期得到的年!Public Function MakeDir(FileDir, YearDir As String) If Dir$(FileDir, vbDirectory) = "" Then
    MkDir FileDir
    ChDir FileDir
    MkDir FileDir & "\" & YearDir
   Else
    ChDir FileDir
    If (Dir$("\" & YearDir, vbDirectory) = "") Then    '错误所在!
        MkDir FileDir & "\" & YearDir
    End If
 End If
End Function   现在发现出现错误!怎么避免出现这个错误!

解决方案 »

  1.   

    Option ExplicitPrivate Sub Command1_Click()
        Dim fso As New FileSystemObject
        If fso.FolderExists("c:\winnt") = True Then
            MsgBox "目录 c:\winnt 已经存在!"
        Else
            MsgBox "目录 c:\winnt 不存在!"
        End If
    End Sub
      

  2.   

    Option ExplicitPrivate Sub Command1_Click()
        Dim fso As New FileSystemObject
        If fso.FolderExists("c:\winnt") = True Then
            MsgBox "目录 c:\winnt 已经存在!"
        Else
            MsgBox "目录 c:\winnt 不存在!"
        End If
    End SubPrivate Sub Command2_Click()
        Dim fso As New FileSystemObject
        
        fso.CreateFolder ("d:\test")
        
        If fso.FolderExists("d:\test") = True Then
            MsgBox "目录 d:\test 已经存在!"
        Else
            MsgBox "目录 d:\test 不存在!"
        End If
    End Sub
      

  3.   

    command1_click 是判断一个指定的文件夹是否存在
    command2_click 是建立一个文件夹 d:\test ,然后判断它是否存在的。就是判断是否建立成功了。
      

  4.   

    Public FSO As Scripting.FileSystemObject
    Set FSO = New Scripting.FileSystemObject    FSO.FolderExists ("目錄名")
        存在返回true,不存在返回false