Thủ tục sao lưu file hiện hành ra 1 file mới (Backup file) trong cùng 1 thư mục

Liên hệ QC

hoangdanh282vn

Nguyễn Cảnh Hoàng Danh
Thành viên danh dự
Tham gia
21/12/07
Bài viết
1,902
Được thích
5,303
Nghề nghiệp
Kinh doanh các mặt hàng văn phòng phẩm
Mình gửi các bạn Sub tạo file sao lưu trong cùng một thư mục
PHP:
Sub BackupFile()
Application.ScreenUpdating = False
On Error Resume Next
Path_OldFile = ActiveWorkbook.FullName
Path = Left(Path_OldFile, InStrRev(Path_OldFile, "\", , 1) - 1)
Name_NewFile = Replace(Replace(Path_OldFile, Path & "\", ""), ".xls", "")
Name_NewFile = Name_NewFile & "-Backup-" & Format(Now, "dd-mm-yyyy  hh-mm-ss") & ".xls"
ActiveWorkbook.Save
ActiveWorkbook.SaveAs Filename:=Path & "\" & Name_NewFile
Workbooks.Open Filename:=Path_OldFile
Workbooks(Name_NewFile).Close
Application.ScreenUpdating = True
End Sub
 

File đính kèm

Lần chỉnh sửa cuối:
chào ACE diễn đàn,

ai có code tự động backup khi tắt file excel không????
hiện giờ toàn phải Alt + F11 rồi chạy run thì nó mới có backup. Hic**~**
 
Upvote 0
chào ACE diễn đàn,

ai có code tự động backup khi tắt file excel không????
hiện giờ toàn phải Alt + F11 rồi chạy run thì nó mới có backup. Hic**~**
Bạn tạo sự kiện before close (Trước khi đóng)
- ALT + F11
- Cửa sổ VBA mở ra, click đúp vào ThisWorkbook, copy đoạn code này vào:
Mã:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
With ThisWorkbook
   .Save
   .SaveCopyAs Replace(.FullName, .Name, "Bak" & Format(Now, "_ddmmyy_hhmmss_") & .Name)
End With
End Sub
 
Upvote 0
Bạn tạo sự kiện before close (Trước khi đóng)
- ALT + F11
- Cửa sổ VBA mở ra, click đúp vào ThisWorkbook, copy đoạn code này vào:
Mã:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
With ThisWorkbook
   .Save
   .SaveCopyAs Replace(.FullName, .Name, "Bak" & Format(Now, "_ddmmyy_hhmmss_") & .Name)
End With
End Sub
Nếu mình muốn ấn định folder để save file thì làm sao hả bạn
 
Upvote 0
Mình dùng code này để lưu thành file *.vbs để dùng chương trình Task Scheduler hẹn giờ mở để sao lưu file Excel, nhưng khi mở nó hiện ra cái bảng lựa chọn chương trình để chạy (đã chọn chương trình mặc định rồi), trong khi mở trực tiếp thì được.

218537

Code file vbs đây ạ:

Mã:
Dim FSO
Dim strSourcePath, strBackupPath
Dim NgayThang

NgayThang = Year(now) &"_" & Right("0" & Month(Now), 2) &"_" & Right("0" & Day(now), 2) &"_" & HOur(now) &"-" & minute(now) &"-" & second(now)
strSourcePath="H:\Shop A&T\A&T.xlsb"
strBackupPath="E:\Sao Luu File Ban Hang\A&T_" & NgayThang & ".xlsb"

Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFile strSourcePath, strBackupPath
Set FSO = Nothing

Nhờ các bạn chỉ giúp!
Đa tạ!
 
Upvote 0
Mình dùng code này để lưu thành file *.vbs để dùng chương trình Task Scheduler hẹn giờ mở để sao lưu file Excel, nhưng khi mở nó hiện ra cái bảng lựa chọn chương trình để chạy (đã chọn chương trình mặc định rồi), trong khi mở trực tiếp thì được.

View attachment 218537

Code file vbs đây ạ:

Mã:
Dim FSO
Dim strSourcePath, strBackupPath
Dim NgayThang

NgayThang = Year(now) &"_" & Right("0" & Month(Now), 2) &"_" & Right("0" & Day(now), 2) &"_" & HOur(now) &"-" & minute(now) &"-" & second(now)
strSourcePath="H:\Shop A&T\A&T.xlsb"
strBackupPath="E:\Sao Luu File Ban Hang\A&T_" & NgayThang & ".xlsb"

Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFile strSourcePath, strBackupPath
Set FSO = Nothing

Nhờ các bạn chỉ giúp!
Đa tạ!
Bạn sang đọc bài viết bên này xem, phương pháp trên chỉ dành cho lập trình viên:
https://www.giaiphapexcel.com/diendan/threads/demo-form-sao-lưu-file-có-tuỳ-chọn-nén-và-thiết-lập-sao-lưu-định-kỳ-tự-động-task-scheduler.142610/#post-919494
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom