删除今天 VBA 中未保存的文件夹中的所有文件

Delete all files in a folder that weren't saved today in VBA

我正在尝试删除文件夹中今天未保存的所有文件。

该文件夹将只有 .csv.txt 文件类型,所以我将代码编写为只删除那些类型。有没有办法删除任何文件类型?

这是我现在拥有的代码:

Sub delete()

Dim MyFolder As String
Dim MyFileTxt As String
Dim MyFileCSV As String

MyFolder = "C:\Users\Desktop\pdf_converter_test"
MyFileTxt = Dir(MyFolder & "\*.txt")
MyFileCSV = Dir(MyFolder & "\*.csv")

Do While FileDateTime(MyFolder & MyFileTxt) <> Date
     On Error Resume Next
       If FileDateTime(MyFolder & MyFileTxt) <> Date Then
           Kill MyFolder & MyFileTxt
           MyFileTxt = Dir
       End If
Loop

Do While FileDateTime(MyFolder & MyCSV) <> Date
     On Error Resume Next
       If FileDateTime(MyFolder & MyFileCSV) <> Date Then
           Kill MyFolder & MyFileCSV
           MyFileCSV = Dir
       End If
    Loop

End Sub

循环似乎永远持续下去,所以 Do While 条件有问题。但它也不会删除我想要的文件。

如有任何帮助,我们将不胜感激。谢谢。

实现您想要的最简单的方法。这将删除今天未保存的任何文件类型,即它的修改日期与今天不同。

Sub Sample()
    Dim sPath As String
    Dim objFSO As Object, objFolder As Object    
    Dim objfile As Object


    '~~> Change as needed
    sPath = "C:\Users\Siddharth Rout\Desktop\Test\"

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFolder = objFSO.GetFolder(sPath)

    For Each objFile In objFolder.Files
        If Format(objFile.DateLastModified, "DD-MM-YYYY") <> Format(Date, "DD-MM-YYYY") Then
            Kill objFile
        End If
    Next objFile
End Sub