回 帖 发 新 帖 刷新版面

主题:如何判断文件夹不存在

如何判断C:\下A,B,C,D,E,F,G文件夹,只要其中两个不存在就不执行。

回复列表 (共4个回复)

沙发

怎么没人,有哪位前辈能帮个忙,谢谢

板凳

'包含控件说明
'command1 1个

Dim m As Integer

Sub PANDUAN()
    If m = 2 Then
        MsgBox "已经有两个文件夹不存在,程序退出", vbOKOnly
        Exit Sub
    End If
End Sub
Private Sub Command1_Click()
    m = 0
    If Dir("c:\a", vbDirectory) = "" Then
        m = m + 1
        PANDUAN
    End If
    
    If Dir("c:\b", vbDirectory) = "" Then
        m = m + 1
        PANDUAN
    End If
    
    If Dir("c:\c", vbDirectory) = "" Then
        m = m + 1
        PANDUAN
    End If
    
    If Dir("c:\d", vbDirectory) = "" Then
        m = m + 1
        PANDUAN
    End If
    
    If Dir("c:\e", vbDirectory) = "" Then
        m = m + 1
        PANDUAN
    End If
    
    If Dir("c:\f", vbDirectory) = "" Then
        m = m + 1
        PANDUAN
    End If
    
    If Dir("c:\g", vbDirectory) = "" Then
        m = m + 1
        PANDUAN
    End If
End Sub

3 楼

如果我有很多很多个文件夹呢,那不是要写很长的代码,有没更好点的办法

4 楼

首先,路径传回到程序中是一字符串来存储
因此
如果要想处理很多文件夹
就将文件夹建立的比较有规律
这样我们就可以用一个循环函数来判断文件夹是否存在
上面的程序我将文件夹名称都改为ascII来表示
用一个循环判断语句就可以做完
程序如下

'*******************************************************
'判断文件夹是否存在  文件夹名称为 A,B,C,D,E,F,G
'解决思路:
'1  将文件夹名称改为ascII表示 表示如下
'   A       65
'   B       66
'   C       67
'   D       68
'   E       69
'   F       70
'   G       71
'2  判断文件夹是否存在

'程序如下
'*******************************************************

Dim m As Integer

Sub PANDUAN()
    If m = 2 Then
        MsgBox "已经有两个文件夹不存在,程序退出", vbOKOnly
        Exit Sub
    End If
End Sub
Private Sub Command1_Click()
    Dim n As Integer
    m = 0
    For n = Asc("A") To Asc("G")            '在文件夹 A to G 中建立判断循环
        If Dir("c:\" & Chr(n), vbDirectory) = "" Then
            m = m + 1
            PANDUAN
        End If
    Next n

End Sub


我来回复

您尚未登录,请登录后再回复。点此登录或注册