2015-02-09 2 views
1

Я хочу создать резервную книгу Excel, зашифрованную паролем всякий раз, когда я нажимаю кнопку save.Создание резервной копии с паролем

До сих пор у меня есть это, но я все равно не могу понять, как защитить все новые файлы .xlsm с помощью пароля, чтобы никто не мог изменять файлы резервных копий, не зная пароля. Сохранение и создание файлов резервных копий в разных папках.

Спасибо.

Private Sub Workbook_AfterSave(ByVal Success As Boolean) 


    Dim DestinationFolder As String 
    Dim WbName    As String 
    Dim WbExtension   As String 
    Dim WbNewPath   As String 
    Dim sHostName   As String 

    sHostName = Environ$("computername") 

    DestinationFolder = "C:\Users\An\Dropbox\Orders - backup" 

    If DestinationFolder = "" Or Dir(DestinationFolder, vbDirectory) = vbNullString Then 
     MsgBox "The destination folder's path is incorect!", vbCritical, "Wrong folder's path" 
     Exit Sub 
    End If 

    WbName = Left(ThisWorkbook.Name, (InStrRev(ThisWorkbook.Name, ".", -1, vbTextCompare) - 1)) 

    WbExtension = Right$(ThisWorkbook.Name, Len(ThisWorkbook.Name) - InStrRev(ThisWorkbook.Name, ".")) 

    WbNewPath = DestinationFolder & "\" & WbName & sHostName & "(" & Format(Now(), "dd.mm.yyyy - hh.mm") & ")." & WbExtension 

    ThisWorkbook.SaveCopyAs WbNewPath 

End Sub 

ответ

0

Вы должны использовать метод .SaveAs. Затем вы можете назначить пароль для файла.

Затем просто откройте свою «старую» версию.

Проверьте здесь: MSDN - Workbook.SaveAs-Method

+0

Можете ли вы помочь мне изменить мой код с функцией SAVEAS? Я не уверен, как это сделать с такими сложными (для меня) потребностями - дата, время и имя компьютера в имени файла. Благодарю вас за усилия. – pandemic