0
問題が残っています。ウェブサイトからダウンロードしたスプレッドシートを自動的にレポートに記入するオートメーションを作成しています。これらのシートはパスワードで保護されていますが、パスワードを入力せずにブックのロックを解除するコードを見つけましたが、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
おそらくばかげています。これらのファイルをレポートとしてダウンロードする場合、アップローダにパスワードを尋ねることはできませんか?それとも、これは仕事関連のものではありませんか?また、これは2016年にエラーをスローするか、ブックのロックを解除しませんか?エラーがスローされない場合は、「On Error Resume Next」を削除(またはコメントアウト)して、それが何であるかを確認します。 – BruceWayne
Excel 2013以降では、ブルートフォースの方法(あなたのコード)は機能しなくなりました。私がまだ知っている唯一の方法は、excelファイルをzipに変更し、xmlを通してパスワードを削除することです。 – rwilson
@rwilson、どうやったらそれを共有するのか?私たちのチームは実際には、元の従業員がいくつかのファイルをロックしていないまま残しています。 – acousticismX