|
备份文件目录中保存了数量不等的文件名格式为“yyyy-mm-dd hh.nn.bak"的备份文件。这段模块代码运行后如果备份文件数量大于允许数量MaxQty,则从最早日期开始删除多余的文件,并且再按照设定的备份文件保存方式删除不需要的文件。
现在这段代码使用了file search方式,在2007中不能运行,请问各位老师:如果改成能够在07中运行的Do while......Loop 方式代码应该怎样写啊。我试了N多次都不成功,只好求教老师了,谢谢指教。
With Application.FileSearch
.NewSearch
.LookIn = BackupDir 'BackupDir是前面过程定义的备份文件存放目录
.SearchSubFolders = False
.FileName = "*.bak" '备份文件类型:“*。bak”
If .Execute > 0 And MaxQty > 0 Then 'MaxQty是设定的备份文件最大允许数量
If .FoundFiles.Count + 1 > MaxQty Then
For n = 1 To (.Execute + 1 - MaxQty)
Kill .FoundFiles(n)
Next
End If
End If
Select Case BackupMode 'BackupMode 是保存备份文件方式,其中有三个值。
Case conBackupModeSaveAll '含义是保存全部文件
.FileName = Format$(Now(), "yyyy-mm-dd hh.nn") & "*.bak"
Case conBackupModeSaveEveryDay '含义是每天只保存一个文件
.FileName = Format$(Now(), "yyyy-mm-dd") & "*.bak"
Case conBackupModeSaveEveryMonth '含义是每月只保存一个文件
.FileName = Format$(Date, "yyyy-mm") & "*.bak"
End Select
If .Execute > 0 Then
For n = 1 To .FoundFiles.Count
Kill .FoundFiles(n)
Next
End If
End With
|
|