繁体   English   中英

删除文件夹中今天未保存在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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM