我是为一个应用程序编写的,它验证用户是否在各种Microsoft应用程序中成功执行任务。其中一项技能是使用密码保护文件。是否有某些属性或方法可用于验证当前文件是否受到保护,并验证用于加密该文件的密码?
发布于 2022-05-13 16:09:11
正如@findwindow所提到的,我们将无法看到受保护的工作表或工作簿的密码。要检查工作簿/工作表是否使用VBA进行保护,可以这样做。代码是从这里借用的
工作表保护检查
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
工作簿保护检查
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
检查工作簿是否受密码保护。请注意,可以在没有密码的情况下锁定工作簿,但是保护没有密码的工作表是违反直觉的。但是,只要设置了密码,就可以使用它。
只需替换
If .ProtectWindows Or .ProtectStructure Then
使用
If .HasPassword Then
https://stackoverflow.com/questions/72232142
复制相似问题