首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用VBA脚本验证excel工作簿是否受到保护,并读取在此过程中应用的密码。

使用VBA脚本验证excel工作簿是否受到保护,并读取在此过程中应用的密码。
EN

Stack Overflow用户
提问于 2022-05-13 15:38:14
回答 1查看 56关注 0票数 -1

我是为一个应用程序编写的,它验证用户是否在各种Microsoft应用程序中成功执行任务。其中一项技能是使用密码保护文件。是否有某些属性或方法可用于验证当前文件是否受到保护,并验证用于加密该文件的密码?

EN

回答 1

Stack Overflow用户

发布于 2022-05-13 16:09:11

正如@findwindow所提到的,我们将无法看到受保护的工作表或工作簿的密码。要检查工作簿/工作表是否使用VBA进行保护,可以这样做。代码是从这里借用的

工作表保护检查

代码语言:javascript
运行
复制
Sub IsWorksheetProtected()
With ActiveSheet
  If .ProtectContents Or .ProtectDrawingObjects Or .ProtectScenarios Then
    MsgBox "This worksheet is password protected"
  Else
    MsgBox "This Worksheet is not password protected"
  End If
End With

End Sub

工作簿保护检查

代码语言:javascript
运行
复制
Sub IsWorkbookProtected()
With ActiveWorkbook
  If .ProtectWindows Or .ProtectStructure Then
    MsgBox "This workbook is password protected"
  Else
    MsgBox "This workbook is not password protected"
  End If
End With

End Sub

工作簿更新您是对的,因为我们打开了工作簿,看起来它不会检测到详细信息。您可以使用.HasPassword检查工作簿是否受密码保护。请注意,可以在没有密码的情况下锁定工作簿,但是保护没有密码的工作表是违反直觉的。但是,只要设置了密码,就可以使用它。

只需替换

代码语言:javascript
运行
复制
If .ProtectWindows Or .ProtectStructure Then

使用

代码语言:javascript
运行
复制
If .HasPassword Then
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72232142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档