Excel VBA:删除文件夹中的任何空Excel文件

麦克风

我希望能够搜索 .xls 文件的文件夹并从空文件夹中删除任何文件。当我说空时,我的意思是文件中没有工作表,或者任何单元格中都没有任何数据(如果工作表确实存在)。这样做的最佳方法是什么?

代码:

Sub DeleteEmptyFiles()

Dim FolderPath As String
Dim Filename As String
Dim ws As Worksheet

Application.ScreenUpdating = False

FolderPath = "Enter the folder path here"
Filename = Dir(FolderPath & "*.xls*")

Do While Filename <> ""
    Workbooks.Open Filename:=FolderPath & Filename, ReadOnly:=True
    For Each ws In ActiveWorkbook.Sheets

    'DELETE FILE IF EMPTY

    Next ws
    
    Workbooks(Filename).Close
    Filename = Dir()

Loop

Application.ScreenUpdating = True

End Sub
法尼杜鲁

请尝试下一种方法:

Sub DeleteEmptyFiles()
 Dim FolderPath As String, Filename As String, wb As Workbook
 Dim ws As Worksheet, boolNotEmpty As Boolean
 Dim previousSecurity As MsoAutomationSecurity

 FolderPath = "Enter the folder path here" 'Take care to end the folder path in "\"
                                           'Otherwise, build the file full name inserting "\"
 Filename = Dir(FolderPath & "*.xls*")

 Do While Filename <> ""
    previousSecurity = Application.AutomationSecurity
    Application.AutomationSecurity = msoAutomationSecurityForceDisable
    Set wb = Workbooks.Open(Filename:=FolderPath & Filename)
    Application.AutomationSecurity = previousSecurity
    
    boolNotEmpty = False
    For Each ws In wb.Worksheets
        If WorksheetFunction.CountA(ws.UsedRange) > 0 Then
            boolNotEmpty = True: Exit For
        End If
    Next ws
    wb.Close False
    If Not boolNotEmpty Then Kill FolderPath & Filename
    Filename = Dir()
 Loop
End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

删除文件夹VBA中的非Excel文件

删除文件,然后在Excel 2010 VBA中的文件夹

使用VBA获取文件夹中的Excel文件列表

Excel VBA 在文件夹中找不到 xlsx 文件

Excel VBA从文件夹中的文件更新主列表

Excel VBA忽略目录中的特定文件夹/文件

从文件夹和子文件夹中获取文件列表 Excel VBA

Excel VBA 搜索子文件夹

在VBA Excel中动态创建文件夹

在文件夹中搜索文件夹 (Excel-VBA)

在Excel VBA中创建文件夹和子文件夹

VBA Excel将文件保存在Excel宏创建的文件夹中

Excel VBA - 从静态文件夹名称复制文件并粘贴到 ActiveCell 中的文件夹名称中

Excel VBA代码将文件夹中的rtf文件批量转换为pdf文件

从excel文件vba循环文件夹名称

VBA excel 计算文件夹(和文件)的总数

VBA - Excel - 在文件夹中的多个文件中搜索多个字符串

Excel VBA - 遍历文件夹中的文件,复制范围,粘贴到此工作簿中

使用excel VBA将文件自动分类到文件夹中

使用Excel VBA获取文件夹/目录中的文件名列表

使用excel vba合并文件夹中的所有pdf文件

Excel VBA如何在当前目录的文件夹中执行BAT文件

使用VBA和Excel从文件夹中的文件收集数据

Excel VBA将特定文件夹中的所有Word文件转换为PDF

Excel VBA代码将父文件夹中的所有文件名捕获到excel表中

使用Excel宏循环浏览文件夹中的文件

如何在R中操纵excel文件的文件夹?

如果 Temp 文件夹中存在 excel 文件,则出错

Python遍历文件夹中的excel文件