Trong Excel 2007 trong hộp Lưu dưới dạng, có một tùy chọn để 'Tạo bản sao lưu', chỉ cần sao lưu tệp bất cứ khi nào nó được lưu. Thật không may, nó sao lưu tập tin vào cùng thư mục với bản gốc.
Có cách nào đơn giản để thay đổi thư mục này sang ổ đĩa / thư mục khác không? Tôi đã nhầm lẫn với các macro để làm điều này, đến với:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Saves the current file to a backup folder and the default folder
'Note that any backup is overwritten
Application.DisplayAlerts = False
ActiveWorkbook.SaveCopyAs Filename:="T:\TEC_SERV\Backup file folder - DO NOT DELETE\" & _
ActiveWorkbook.Name
ActiveWorkbook.Save
Application.DisplayAlerts = True
End Sub
Điều này tạo ra một bản sao lưu của tập tin ok ngay lần đầu tiên, tuy nhiên nếu điều này được thử lại tôi nhận được:
Lỗi thời gian chạy '1004';
Microsoft Office Excel không thể truy cập tệp 'T: \ TEC_SERV \ Thư mục tệp sao lưu - KHÔNG XÓA \ Kiểm tra Macro Sheet.xlsm. Có một số lý do có thể:
Tên tệp hoặc đường dẫn không tồn tại
Tệp đang được sử dụng bởi một chương trình khác
Sổ làm việc bạn đang cố lưu có cùng tên với ...
Tôi biết đường dẫn là chính xác, tôi cũng biết rằng tập tin không được mở ở bất cứ nơi nào khác. Sổ làm việc có cùng tên với tên tôi đang cố lưu lại nhưng nó chỉ nên ghi đè lên.
Tôi đã đăng câu hỏi về mã hóa trên Stack Overflow nhưng tự hỏi liệu có cách nào dễ dàng hơn để làm điều này không.
Bất kì sự trợ giúp nào đều được đánh giá cao. Joe