我正在尝试删除一个文本文件,其中包含文件名称标题和当前年份中前一个日期月份的一部分。
因此,例如,如果今天是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
答案 0 :(得分:0)
你给字符串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