Excel VBA代码密码保护备份文件

时间:2018-01-02 19:51:52

标签: excel excel-vba vba

下午好,

我有以下代码,用于在保存时创建工作簿的备份。它保存到一个单独的位置,一切似乎都正常工作。为工作簿输入以下代码而不是单个工作表。

有谁能告诉我如何在以下代码生成的备份文件上创建密码保护?

我对VBA脚本很新,但我看到了一个使用另存为功能来创建密码保护的功能,但我不知道如何将其合并到我的代码中。

非常感谢任何帮助!

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Application.EnableEvents = False

thisPath = ThisWorkbook.Path
myName = Left(ThisWorkbook.Name, (InStrRev(ThisWorkbook.Name, ".") - 1))
ext = Right(ThisWorkbook.Name, Len(ThisWorkbook.Name) - InStrRev(ThisWorkbook.Name, "."))
backupdirectory = "Backup"

Set FSO = CreateObject("Scripting.FileSystemObject")

If Not FSO.FolderExists(ThisWorkbook.Path & "/" & backupdirectory) Then
    FSO.CreateFolder (ThisWorkbook.Path & "/" & backupdirectory)
End If

T = Format(Now, "mmm dd yyyy hh mm ss")
ThisWorkbook.SaveCopyAs thisPath & "\" & backupdirectory & "\" & myName & " " & T & "." & ext

Application.EnableEvents = True
End Sub

1 个答案:

答案 0 :(得分:1)

我有一个名为master.xlsm的Excel文件。这个小子:

1.save文件
2.使用保护文件扫描文件的备份副本 3.退出Excel

Sub SaveAndBackup()
    ThisWorkbook.Save
    ThisWorkbook.SaveAs Filename:="backup.xlsm", Password:="secret"
    Application.Quit
End Sub

更改此选项以满足您自己的文件命名和位置需求。