🔄 Создание резервной копии файла
Создание резервной копии файла в VBA Excel перед внесением очередных изменений и при закрытии файла.
1️⃣ Создание резервной копии файла Excel в процессе редактирования:
🔹 Если вы сохраняете в одну папку «Backup» несколько файлов, имена копий можно разделить, добавив имя сохраняемого файла между словами «Копия» и «от»:
2️⃣ Автоматическое создание резервной копии при закрытии файла. Код размещаем в модуле книги.
#VBA #ExcelVBA #Backup #РезервноеКопирование #MkDir
Создание резервной копии файла в VBA Excel перед внесением очередных изменений и при закрытии файла.
1️⃣ Создание резервной копии файла Excel в процессе редактирования:
Sub BackupToFolder()
Dim BackupFolder As String
' Папка для копий
BackupFolder = ThisWorkbook.Path & "\Backup"
' Проверяем, существует ли папка, если нет, то создаем ее
If Dir(BackupFolder, vbDirectory) = "" Then MkDir BackupFolder
' Сохраняем книгу
ThisWorkbook.Save
' Сохраняем резервную копию
ThisWorkbook.SaveCopyAs BackupFolder & "\Копия_от_" & Format(Now, "yyyy-mm-dd_hh-mm-ss") & ".xlsm"
MsgBox "Копия сохранена в папку: " & BackupFolder, vbInformation
End Sub
🔹 Если вы сохраняете в одну папку «Backup» несколько файлов, имена копий можно разделить, добавив имя сохраняемого файла между словами «Копия» и «от»:
' Сохраняем резервную копию
ThisWorkbook.SaveCopyAs BackupFolder & "\Копия_" & ThisWorkbook.Name & "_от_" & Format(Now, "yyyy-mm-dd_hh-mm-ss") & ".xlsm"
2️⃣ Автоматическое создание резервной копии при закрытии файла. Код размещаем в модуле книги.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim BackupFolder As String
' Папка для копий
BackupFolder = ThisWorkbook.Path & "\Backup"
' Проверяем, существует ли папка, если нет, то создаем ее
If Dir(BackupFolder, vbDirectory) = "" Then MkDir BackupFolder
' Сохраняем книгу
ThisWorkbook.Save
' Сохраняем резервную копию
ThisWorkbook.SaveCopyAs BackupFolder & "\Копия_от_" & Format(Now, "yyyy-mm-dd_hh-mm-ss") & ".xlsm"
End Sub
#VBA #ExcelVBA #Backup #РезервноеКопирование #MkDir
🔥1