VBA删除Excel电子表格中的文件夹列表

时间:2016-02-17 07:31:39

标签: excel vba loops dir

我正在使用名为" All Dup"的应用程序。查找重复文件,通常由CRC校验和匹配。运行扫描后,我留下了大约10000个重复文件的列表。然后我可以将结果导出为csv文件。我想要做的是有一个宏来删除列中的所有指定文件夹,即我在A列中有所有文件夹。

我知道如何删除单个目录,但我真的很感激一些"循环"功能或类似的东西。

1 个答案:

答案 0 :(得分:0)

此循环将从列2向下走到列A到最后一个填充的行。首先检查每个单元格以查看它是否为非空白,然后检查它是否存在为Dir function的文件夹。

With Worksheets("Sheet1")
    For dr = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
        If CBool(Len(.Cells(dr, "A").Value2)) Then
            If CBool(Len(Dir(.Cells(dr, "A").Value2, vbdirectrory))) Then
                Kill .Cells(dr, "A").Value2 & Chr(92) * Chr(42)
                RmDir .Cells(dr, "A").Value2 
            End If
        End If
    Next dr
End With

如果两个测试都通过,则使用Kill function删除该文件夹。如果文件夹中填充了文件,则应首先删除它们。