Advertisement
Guest User

Untitled

a guest
Jan 19th, 2013
515
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Public Const mydelay As Integer = 10
  2. Public Const mycount As Integer = 3
  3. Public Const myfolder As String = "\autobackup\"
  4.  
  5. Public Sub callmelater()
  6.  
  7.     For Each mybook In Workbooks
  8.         Call savethisworkbook(mybook)
  9.     Next
  10.        
  11.     Application.OnTime Now + TimeSerial(0, 0, mydelay), "callmelater"
  12.    
  13. End Sub
  14.  
  15. Private Sub savethisworkbook(mybook)
  16.  
  17.     If mybook.Path = vbNullString Then Exit Sub
  18.  
  19.     On Error Resume Next
  20.        MkDir mybook.Path & myfolder
  21.     On Error GoTo 0
  22.  
  23.     myfilename = Left(mybook.Name, (InStrRev(mybook.Name, ".") - 1))
  24.     mybook.SaveCopyAs mybook.Path & myfolder & myfilename & "_" & Format(Now, "YYMMDD_hhmmss") & ".xls"
  25.  
  26.     With Application.FileSearch
  27.         .LookIn = mybook.Path & myfolder
  28.         .fileName = myfilename & "_??????_??????"
  29.         .FileType = msoFileTypeExcelWorkbooks
  30.         .Execute SortBy:=msoSortByLastModified
  31.         If .FoundFiles.Count > mycount Then Kill .FoundFiles.Item(1)
  32.     End With
  33.                
  34. End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement