Code save file excel làm 2 bản

Liên hệ QC

Datcdt2k9

Thành viên hoạt động
Tham gia
27/12/19
Bài viết
109
Được thích
11
Em chào mọi người
Em cần lưu file excel làm 2 bản, mỗi lần nhấn ctrl + S ( lưu file ) sẽ tạo thành 2 bản excel lưu trên 2 ổ( thư mục khác nhau) đề phòng trường hợp 1 file gặp vấn đề như bị xóa, lỗi...thì còn 1 file backup sẵn.
Nhờ các anh chị giúp đỡ ạ
Em xin cảm ơn.
 
Em chào mọi người
Em cần lưu file excel làm 2 bản, mỗi lần nhấn ctrl + S ( lưu file ) sẽ tạo thành 2 bản excel lưu trên 2 ổ( thư mục khác nhau) đề phòng trường hợp 1 file gặp vấn đề như bị xóa, lỗi...thì còn 1 file backup sẵn.
Nhờ các anh chị giúp đỡ ạ
Em xin cảm ơn.
Vậy khi đang nhập liệu bạn ctrl+ S thì cũng tạo luôn 2 file mới sao?
 
Cái vụ ao tu bách úp lần trước của bạn chưa giải quyết được à?
 
Em chào mọi người
Em cần lưu file excel làm 2 bản, mỗi lần nhấn ctrl + S ( lưu file ) sẽ tạo thành 2 bản excel lưu trên 2 ổ( thư mục khác nhau) đề phòng trường hợp 1 file gặp vấn đề như bị xóa, lỗi...thì còn 1 file backup sẵn.
Nhờ các anh chị giúp đỡ ạ
Em xin cảm ơn.
Thời này mà không tận dụng được đám mây kèm tiện ích đồng bộ PC-Cloud thì phí thật. Lẽ ra việc của bạn đơn giản và an toàn hơn rất nhiều nếu dùng Google Drive chẳng hạn.
 
Em chào mọi người
Em cần lưu file excel làm 2 bản, mỗi lần nhấn ctrl + S ( lưu file ) sẽ tạo thành 2 bản excel lưu trên 2 ổ( thư mục khác nhau) đề phòng trường hợp 1 file gặp vấn đề như bị xóa, lỗi...thì còn 1 file backup sẵn.
Nhờ các anh chị giúp đỡ ạ
Em xin cảm ơn.
- Đầy phần mềm tự động sao lưu mà, cần gì phải làm kiểu này cho mệt.
- Dùng google drive như bác trên nói cũng ổn.
 
Cái vụ ao tu bách úp lần trước của bạn chưa giải quyết được à?em vẫn chưa

Cái vụ ao tu bách úp lần trước của bạn chưa giải quyết được à?
Em vẫn chưa giải quyết được anh ạ, em tìm hiểu robocopy mà áp dụng vào test lấy file trên server về máy mà toàn báo lỗi
Bài đã được tự động gộp:

Thời này mà không tận dụng được đám mây kèm tiện ích đồng bộ PC-Cloud thì phí thật. Lẽ ra việc của bạn đơn giản và an toàn hơn rất nhiều nếu dùng Google Drive chẳng hạn.
Em không được cài phần mềm hay app gì anh ạ nên lên diễn đàn nhờ anh chị giúp code save file excel làm 2 bản, không may bị mất file còn có file ứng cứu
Bài đã được tự động gộp:

- Đầy phần mềm tự động sao lưu mà, cần gì phải làm kiểu này cho mệt.
- Dùng google drive như bác trên nói cũng ổn.
Em không được cài thêm app hay phần mềm gì anh ạ
Bài đã được tự động gộp:

Vậy khi đang nhập liệu bạn ctrl+ S thì cũng tạo luôn 2 file mới sao?
Vâng a, cứ ctrl +s là excel được lưu làm 2 file, nhưng dạng update chứ không phải cứ nhấn save là tạo ra 2 bản tại các thời điểm khác nhau anh ạ
 
Vâng a, cứ ctrl +s là excel được lưu làm 2 file, nhưng dạng update chứ không phải cứ nhấn save là tạo ra 2 bản tại các thời điểm khác nhau anh ạ
Vậy làm sao máy nhận ra được là đoạn dữ liệu mới gõ vào với dữ liệu cũ cách đây 1 tiếng hay 2 tiếng rồi chọn ra để cập nhật bạn nhỉ.
 
Cái này xuất phát từ nhu cầu thực tế của bạn, mình cũng chưa nghĩ ra nhưng ý tưởng trên thì chắc không phù hợp.
Nhu cầu chính của thớt là backup dữ liệu để đề phòng mất điện.
Những cái thớt nghĩ ra là nhu cầu của các cơ quan thứ dữ, cần dạng backup song song. Ví dụ một database server ngỏm thì lập tức server thứ hai nhảy vào thay thế, database in hệt như vậy.

Muốn hai bản thì cứ tạo một cai phần mềm ở sau lưng (running in background). Phần mềm xét hễ có file mới saved thì copy vào archive.
 
Vậy làm sao máy nhận ra được là đoạn dữ liệu mới gõ vào với dữ liệu cũ cách đây 1 tiếng hay 2 tiếng rồi chọn ra để cập nhật bạn nhỉ.
Tôi nghĩ cứ lưu đè file sao lưu không cần hỏi, bất kể dữ liệu mới sai đúng thế nào thì được chứ?
 
Ý em muốn cũng là như vậy,bản backup thì sẽ ghi đè, vì chỉ cần lấy dữ liệu lần ctrl +s cuối cùng
Bạn thử code này xem.
Mã:
Private Const sBackupFolder As String = "D:\Backup\"
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
ThisWorkbook.SaveCopyAs sBackupFolder & ThisWorkbook.Name
End Sub
 
Bạn thử code này xem.
Mã:
Private Const sBackupFolder As String = "D:\Backup\"
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
ThisWorkbook.SaveCopyAs sBackupFolder & ThisWorkbook.Name
End Sub
Em chép code này vào vba test thì lúc run không hiện tên sub để run anh ạ
 
Chép vào ThisWorkbook. Và không cần ấn chạy Sub, chỉ cần ấn lưu file là được.

View attachment 253324
Em làm được rồi, cảm ơn các anh đã giúp em
Bài đã được tự động gộp:

Bạn thử code này xem.
Mã:
Private Const sBackupFolder As String = "D:\Backup\"
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
ThisWorkbook.SaveCopyAs sBackupFolder & ThisWorkbook.Name
End Sub
Em test ok rồi ạ, em cảm ơn anh
 
Bạn thử code này xem.
Mã:
Private Const sBackupFolder As String = "D:\Backup\"
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
ThisWorkbook.SaveCopyAs sBackupFolder & ThisWorkbook.Name
End Sub
Trong quá trình sử dụng nếu em nhấn ctrl+s 2 lần liên tiếp sẽ NG, số lần nhấn là số lẻ code chạy ok, số lần nhấn là số chẵn sẽ NG code( run tine error 1004) và file backup bị mất, anh kiểm tra giúp em ạ
 
Web KT
Back
Top Bottom