无需知道密码即可解锁受保护的工作簿

我遇到了一个问题,我创build了一个自动化来自动从网站上下载电子表格来填写报告。 但是,这些表来保护密码,我发现了一个代码来解锁工作簿,而不必提供密码,但是不适用于Excel 2016,任何人都知道一些其他的方式?

这是我有的代码:

Sub UnProtect_Excel_WorkSheet() 'Unlock Protect Excel Worksheet Dim i1 As Integer, i2 As Integer, i3 As Integer, j1 As Integer, j2 As Integer, j3 As Integer Dim k1 As Integer, k2 As Integer, k3 As Integer, l1 As Integer, l2 As Integer, l3 As Integer Dim a As Double On Error Resume Next a = 0 'Try all Possible Alternate Combination Password For i1 = 65 To 66: For i2 = 65 To 66: For i3 = 65 To 66 For j1 = 65 To 66: For j2 = 65 To 66: For j3 = 65 To 66 For k1 = 65 To 66: For k2 = 65 To 66: For k3 = 65 To 66 For l1 = 65 To 66: For l2 = 65 To 66: For l3 = 32 To 126 ThisWorkbook.Sheets(1).Unprotect Chr(i1) & Chr(i2) & Chr(i3) & Chr(j1) & Chr(j2) & Chr(j3) & Chr(k1) & Chr(k2) & Chr(k3) & Chr(l1) & Chr(l2) & Chr(l3) a = a + 1 ThisWorkbook.Sheets(2).Cells(a, 1) = Chr(i1) & Chr(i2) & Chr(i3) & Chr(j1) & Chr(j2) & Chr(j3) & Chr(k1) & Chr(k2) & Chr(k3) & Chr(l1) & Chr(l2) & Chr(l3) 'Check if the Protection is Removed If ActiveSheet.ProtectContents = False Then MsgBox "One usable password is " & Chr(i1) & Chr(i2) & Chr(i3) & Chr(j1) & Chr(j2) & Chr(j3) & Chr(k1) & Chr(k2) & Chr(k3) & Chr(l1) & Chr(l2) & Chr(l3) Exit Sub End If 'Exit Loop Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next End Sub 

我有同样的问题。 我find的解决scheme非常简单 – 只需将文档保存为.xls并运行脚本即可。

如果行数less于65K,这是一个可行的解决scheme。