excel - 使用密码保护已关闭的工作簿
问题描述
我已经搜索但没有找到在关闭的工作簿上放置外部密码的方法。假设我已经关闭了名为“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-closed-workbook.1133150/
解决方案
您正在寻找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
推荐阅读
- python - 无法将字符串转换为浮点数:'Neudorf'
- powershell - Powershell:从字符串(11/11/2020 11:23:45 Text2 12345)中提取日期时间而不使用正则表达式
- cocoa - NSImageView 72dpi 图像在 HiDPI 显示器上模糊
- r - 如何使用 R 中的 glm 在二元逻辑回归中创建循环以包含混杂因素(协变量)?
- python - 我需要比较python中的2个嵌套列表以查找第一个列表的字符串与第二个列表中的字符串不匹配的位置
- flutter - 我们可以使用 apache kafka 作为后端构建 Flutter 移动聊天应用程序吗?
- vue.js - 在 VUE 中使用 Konva 用鼠标移动绘制矩形
- c++ - 关于多线程时的竞争条件的问题
- reactjs - ReactJS 在开始加载页面时删除所有信息
- reactjs - 如何为从父组件传入的按钮分配点击事件?