Страницы: 1
RSS
автоматический бэкап при открытии книги
 
Добрый день!  
Подскажите пожалуйста, каким образом можно автоматически создавать резервные копии файла при каждом его запуске?    
Необходимо сохранять исходную версию файла в сетевую папку каждый раз, когда его открывает пользователь.    
 
Похожая задача (создание резервной копии перед закрытием) решается таким образом:    
 
Private Sub Workbook_BeforeClose(Cancel As Boolean)  
Dim x, n  
' проверка, не является ли данный файл уже сохраненной ранее копией  
n = ActiveWorkbook.Name  
If InStr(n, "closed by") = 0 Then ' не является, продолжаем  
strPath = "\\155.170.18.7\TXO1"  
On Error Resume Next  
x = GetAttr(strPath) And 0  
If Err = 0 Then ' если путь существует - сохраняем копию книги  
FileNameXls = strPath & "\" & ActiveWorkbook.ActiveSheet.[b71] & ".xls"
ActiveWorkbook.SaveCopyAs Filename:=FileNameXls  
Else 'если путь не существует - выводим сообщение  
MsgBox "Папка " & strPath & " недоступна или не существует!", vbCritical  
End If  
Else: MsgBox "this file is saved copy - macros not active"  
End If  
End Sub  
 
(http://www.planetaexcel.ru/tip.php?aid=72)  
 
Скажите, как будет выглядеть окончательный текст макроса, который сохраняет резервную копию не перед закрытием, а при открытии книги?
 
Поменяйте в модуле книги событие Private Sub Workbook_BeforeClose(Cancel As Boolean) на BeforeOpen:)
 
Sub Auto_Open()  
Dim x As String  
   strPath = "c:\TEMP" ' дирректория для резервной копии  
   On Error Resume Next  
   x = GetAttr(strPath) And 0  
   If Err = 0 Then ' если данный путь существует, то сохраняем в него открываемую книгу  
       strDate = Format(Now, "dd/mm/yy hh-mm")  
       FileNameXls = strPath & "\" & Left(ActiveWorkbook.Name,  _  
            Len(ActiveWorkbook.Name) - 4) & " " & strDate & ".xls"  
       ActiveWorkbook.SaveCopyAs Filename:=FileNameXls  
   Else 'если путь не существует или же он недоступен, то выводим соответствующее сообщение  
       MsgBox "Создание резервной копии невозможно! Папка " & strPath & " недоступна или не существует!", vbCritical  
   End If  
End Sub  
 
http://mirvba.ru/makrosi-excel/sozdanie-rezervnich-kopiy-faylov-excel.html
Страницы: 1
Читают тему
Наверх