Якщо ви знаєте, що таке пароль, продовжте і відкрийте документ Excel. Потім натисніть на Файл> Зберегти як. Ліворуч від кнопки "Зберегти" розташоване невелике спадне меню з підписом "Інструменти". Клацніть на цьому, а потім натисніть Загальні параметри. Видаліть записи пароля там і натисніть кнопку ОК. Збережіть документ.
Якщо ви не знаєте, що таке пароль, ви можете скористатися VBA, щоб знайти його. Якщо мені доведеться здогадатися, ваш користувач, ймовірно, не використовував надто сильний пароль, тому ми могли використати метод типу грубої сили, щоб знайти його. Нижче наведений код є приблизним, але він допоміг мені знайти слабкий, втрачений пароль у кількох документах моїх користувачів. Він перевіряє паролі будь-якої довжини з символами ASCII від 1 до z. Ви б зателефонували йому з «Негайного вікна» і почекали кілька хвилин так:
? GetPassword("D:\mywkbk.xlsx")
-
Public Function GetPassword(ByRef sFileName As String) As String
On Error Resume Next
Dim pw As String
pw = ""
Do
VBA.Err.Clear
pw = GenerateNextPassword(pw)
Application.Workbooks.Open sFileName, False, True, , pw, pw
VBA.DoEvents
Loop While VBA.Err.Number = 5408
GetPassword = pw
End Function
Public Function GenerateNextPassword(ByRef sCurrentPassword As String) As String
Const MAX_CHAR = 122
Const MIN_CHAR = 49
Dim sCurrentPasswordMax As String
Dim sNewPassword As String
Dim i As Long
sCurrentPasswordMax = String(Len(sCurrentPassword), Chr(MAX_CHAR))
If sCurrentPassword = sCurrentPasswordMax Then
'do an increment that changes the length
sNewPassword = String(Len(sCurrentPassword) + 1, Chr(MIN_CHAR))
Debug.Print Now(); ": "; sNewPassword
ElseIf Asc(Right(sCurrentPassword, 1)) = MAX_CHAR Then
'do an increment that changes multiple characters
sNewPassword = Left(sCurrentPassword, Len(sCurrentPassword) - 1) & Chr(MIN_CHAR)
For i = Len(sCurrentPassword) - 1 To 1 Step -1
sNewPassword = Left(sNewPassword, i - 1) & Chr(Asc(Mid(sNewPassword, i, 1)) + 1) & Mid(sNewPassword, i + 1)
If Asc(Mid(sCurrentPassword, i, 1)) <> MAX_CHAR Then
Exit For
End If
Next i
Else
'do an increment on the rightmost character
sNewPassword = Left(sCurrentPassword, Len(sCurrentPassword) - 1) & Chr(Asc(Right(sCurrentPassword, 1)) + 1)
End If
GenerateNextPassword = sNewPassword
End Function
decrypt xls
чи щось подібне.