2015-02-09 170 views
1

我想创建一个用密码加密的备份excel工作簿,只要按下按钮保存即可。创建受密码保护的备份

到目前为止,我有这个,但仍不容弄清楚如何保护所有新.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

能否请你帮我修改我的另存为功能码?我不知道如何处理这样一个复杂的(对我来说)需要 - 文件名中的日期,时间和计算机名称。感谢您的努力。 – pandemic 2015-02-09 20:55:11