VBA Excel
242 subscribers
88 photos
23 links
VBA Excel для начинающих. Справка по VBA Excel. Visual Basic for Applications. Справочник. Самоучитель.
Download Telegram
🔄 Создание резервной копии файла
Создание резервной копии файла в 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