我已经搜索过,但没有找到在关闭的工作簿上添加外部密码的方法。
假设我已经关闭了名为“Sample.xlm”的工作簿..并且我正在打开一个名为“Test.xlm”的工作簿。
是否有代码可以让我在 Sample.xlsm 上设置密码?我的意思是外部密码..
我尝试了以下操作,但出现错误(对象工作簿的方法保护失败)
Sub Test()
Dim wb As Workbook
Set wb = Workbooks.Open(ThisWorkbook.Path & "\Sample.xlsm")
wb.Protect Password:="123"
wb.Close True
End Sub
** 我使用“保护和共享工作簿”来保护示例工作簿,但已更改为“取消共享”。这就是出现错误的问题。
现在代码可以运行,但是在运行代码后打开示例工作簿时,我发现它不受保护。我希望得到它的保护。
** 看来我的做法也错了。这将保护工作簿的结构,使其不会在快照显示时设置外部密码。
感谢先进的帮助
也发表在这里https://www.mrexcel.com/board/threads/set-password-to-lated-workbook.1133150/ https://www.mrexcel.com/board/threads/set-password-to-closed-workbook.1133150/
您正在寻找Workbook.SaveAs https://learn.microsoft.com/en-us/office/vba/api/excel.workbook.saveas- 可选参数之一,Password
,将执行您要做的事情...但您需要先打开工作簿 - 与处理文件系统的任何代码一样,我们需要在此处处理错误:
On Error GoTo CleanFail
Application.DisplayAlerts = False
Dim path As String
path = ThisWorkbook.Path & "\Sample.xlsm"
With Workbooks.Open(path)
.SaveAs path, Password:="P@$$w0rd"
.Close
End With
CleanExit:
Application.DisplayAlerts = True
Exit Sub
CleanFail:
Debug.Print Err.Description
Resume CleanExit
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)