gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 00:53:14 25 4
gpt4 key购买 nike

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

该文件夹仅包含 .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

关于vba - 删除今天未在 VBA 中保存的文件夹中的所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38834291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com