excel vba如果文件存在则删除

efzxgjgh  于 2023-02-14  发布在  其他
关注(0)|答案(1)|浏览(345)

我正在尝试删除一个文本文件,其中包含文件名标题中的前一个日期月份和当前年份的一部分。
因此,例如,如果今天是11月,则这将是第11个月,而上个月将是第10个月。
所以我想删除包含月份号10的文件,因为这是上个月。
由于某种原因,我的代码导致excel崩溃,没有响应,有人能告诉我如何改变我的代码,让这个工作,谢谢

Dim iMonth As Integer
Dim iYear As Integer
iMonth = Month(Date) - 1
iYear = Year(Date)
Dim DirFile As String
DirFile = "P:\Log (" & iMonth & "-" & iYear & ")*.txt"
Do While DirFile <> ""
Count = Count + 1
Loop
If Count > 0 Then
SetAttr DirFile, vbNormal
'Then delete the file
Kill DirFile
End If
6g8kf2rb

6g8kf2rb1#

你给字符串DirFile一个值,然后创建一个while循环,当字符串DirFile不为空时循环,所以它将永远运行(锁定excel),你将需要代码来检查文件是否真的存在,然后删除它

DirFile = "P:\Log (" & iMonth & "-" & iYear & ")*.txt"
Do While DirFile <> ""  'always true
Count = Count + 1
Loop

尝试使用

Dim iMonth As Integer
Dim iYear As Integer
iMonth = Month(Date) - 1
iYear = Year(Date)
Dim DirFile As String
DirFile = "P:\Log (" & iMonth & "-" & iYear & ")*.txt"

    If Len(Dir(DirFile)) <> 0 Then
        SetAttr DirFile, vbNormal
        Kill DirFile
    End If

相关问题