如何使用vba删除文件夹(附示例)


您可以在VBA中使用以下方法删除文件夹:

方法一:删除文件夹内所有文件

 Sub DeleteFolderContents()
    
    On Error Resume Next
    Kill “ C:\Users\bobbi\Desktop\My_Data\*.*On Error GoTo 0

End Sub

这个特定的宏将删除名为My_Data 的文件夹中的所有文件。

方法二:删除整个文件夹

 SubDeleteFolder ()
    
    On Error Resume Next
    
    'delete all files in folder
    Kill “ C:\Users\bobbi\Desktop\My_Data\*.*'delete empty folder
    RmDir " C:\Users\bobbi\Desktop\My_Data\ "
    
    On Error GoTo 0

End Sub

这个特定的宏将删除整个My_Data文件夹,使其不再存在。

On Error Resume Next行告诉 VBA,如果发生错误并且未找到该文件夹,则不应显示任何错误消息。

然后,我们使用On Error GoTo 0将错误消息重置为默认设置。

如果您想在找不到文件夹时显示错误消息,只需从代码中删除这两行即可。

以下示例展示了如何在实践中使用以下名为My_Data的文件夹(其中包含三个 Excel 文件)的每种方法:

示例 1:使用 VBA 删除文件夹中的所有文件

假设我们要使用 VBA 删除名为My_Data的文件夹中的所有文件。

我们可以创建以下宏来执行此操作:

 Sub DeleteFolderContents()
    
    On Error Resume Next
    Kill “ C:\Users\bobbi\Desktop\My_Data\*.*On Error GoTo 0

End Sub

一旦我们运行这个宏并再次打开文件夹,我们将看到所有文件都已被删除:

示例 2:使用 VBA 删除整个文件夹

如果要使用 VBA 删除名为My_Data的整个文件夹,使其不再存在,可以创建以下宏:

 SubDeleteFolder ()
    
    On Error Resume Next
    
    'delete all files in folder
    Kill “ C:\Users\bobbi\Desktop\My_Data\*.*'delete empty folder
    RmDir " C:\Users\bobbi\Desktop\My_Data\ "
    
    On Error GoTo 0

End Sub

一旦我们运行这个宏并打开文件资源管理器,我们将看到名为My_Data的文件夹不再存在:

其他资源

以下教程说明如何在 VBA 中执行其他常见任务:

VBA:如何计算工作簿中的工作表数量
VBA:如何从另一个工作簿中提取数据
VBA:如果名称包含特定文本,如何删除工作表

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注