你上面的语句我运行了下可以,但总是出现现提示框,要没有就更理想了(另还想在备份的工作簿中指定删除一个工作表)不知如何写?谢谢!!! Sub 全部保存备份退出() ActiveWorkbook.Save '对有宏的保存 Application.DisplayAlerts = False Dim vbcCom Dim Vbc As Object Dim WSH As Object Dim strVBS As String strVBS = Replace(UCase(ThisWorkbook.FullName), ".XLS", ".vbs") ' Set WSH = CreateObject("Wscript.Shell") For Each Vbc In Application.ThisWorkbook.VBProject.VBComponents Select Case Vbc.Type Case 1, 2, 3 With Application.VBE.ActiveVBProject.VBComponents .Remove .Item(Vbc.Name) End With Case Else Vbc.CodeModule.DeleteLines 1, Vbc.CodeModule.CountOfLines End Select Next Set fso = CreateObject("Scripting.FileSystemObject") Set tf = fso.CreateTextFile(strVBS, True) '创建temp文件VBS文件 With tf '写入VBS文件内容 .WriteLine ("Set msexcel=GetObject(,""Excel.Application"")") .WriteLine ("msexcel.save") .WriteLine ("msexcel.quit") .WriteLine ("set fso=createobject(""scripting.filesystemobject"") ") .WriteLine ("fso.DeleteFile WScript.ScriptFullName") .Close End With WSH.Run Chr(34) & strVBS & Chr(34), 1, True ActiveWorkbook.SaveAs "E:\备份\" & Format(Now(), "yyyymmdd") & "条件复制(BAk).xls" Sheets("操作").Delete '删除指定工作表 ActiveWorkbook.Save '对备份的保存 MsgBox "文件己保存到:E:\备份\......下" End Sub
[此贴子已经被作者于2010-8-22 19:58:43编辑过] |