Dim path As String
Private Sub Form_Load()    If Right(App.path, 1) <> "\" Then
        path = App.path + "\"
    Else
        path = App.path
    End If
    if dir(path & "iddb",vbDirectory)="" then 
        mkdir path & "iddb" '先判断是否存在该目录
    else
        msgbox path & "iddb目录已存在",vbCritical
    endif
End SubPrivate Sub Form_Unload(Cancel As Integer)
    kill path & "iddb\*.*" '删除所有文件
    RmDir path + "iddb"
End Sub
以上代码如果程序运行时只能检测该目录下有无该目录,但是不能检测目录内有无文件不然运行kill时就会出错,有哪位高手指点一下在不变动的情况下增加个检测该目录内有无文件的代码,不然KILL就会出错程序自动退处!

解决方案 »

  1.   

    if dir(path & "iddb\*.*")<>"" then 该目录包含文件
        kill path & "iddb\*.*" '删除所有文件'
    endif
      

  2.   

    上面的方法可以解决删除目录的文件,但是如果碰到该目录里有目录或者下一级目录里有文件,那么程序就会自动异常关闭,并且用的KILL语句不能删除iddb目录下的目录及目录下的文件!
    请高手赐教!
      

  3.   

    希望之下的朋友,能在 frankwong给出的方法之下稍微修改一下解决这个问题!
      

  4.   

    可能真的要使用filesystemobject,使用DeleteFolder方法可以删除包含文件或子目录的目录,不会提示错误
    1.引用microsoft scripting runtime
    2.代码
    Dim fso As FileSystemObject
    Set fso = New FileSystemObject
    fso.DeleteFolder 要删除的目录全路径 '慎用!!!!
      

  5.   

    上面的方法可以把该IDDB目录下的所有目录和文件也一起清除吗?引用了的话,发布程序时需要不需要给别人连接库!