vba 怎样检测文件有密码保护 excel

来源:百度知道 编辑:UC知道 时间:2024/06/01 01:36:24

Workbook.ProtectStructure 结构保护
Workbook.ProtectWindows 窗体保护
Worksheet.Protectcontents 内容保护
只想看保护状态的话新建一个xls,新建宏
Sub Showstates()
dim strFileName as String
dim WB as Workbook
dim SHT as Worksheet
dim sheetFLG as boolean
strFileName=Application.GetOpenFilename("Excel 文件 (*.xl*)," & "*.xl*", , "选定文件")
Set WB = Workbooks.Open(strFileName, UpdateLinks:=0)
sheetFLG=false
for each SHT In WB.Worksheets
sheetFLG=sheetFLG or SHT.Protectcontents
next SHT
msgbox WB.ProtectStructure &“ ”& WB.ProtectWindows &“ ”& sheetFLG
End sub

以上未进行strFileName有效性判断、目标文件打开权限密码异常处理,打开正常的xls貌似能过。“打开权限密码”不需vba,打开文件就看见提示了 - -#