Jika Anda tahu kata sandi itu, silakan dan buka dokumen Excel. Kemudian klik File> Save As. Di sebelah kiri tombol Simpan ada sedikit drop-down berlabel Alat. Klik itu, dan kemudian klik Opsi Umum. Hapus entri kata sandi di sana, dan klik OK. Simpan dokumen.
Jika Anda tidak tahu apa kata sandinya, Anda dapat menggunakan VBA untuk menemukannya. Jika saya harus menebak, pengguna Anda mungkin tidak menggunakan kata sandi yang sangat kuat, jadi kami bisa menggunakan metode brute force type untuk menemukannya. Kode di bawah ini kasar, tetapi telah membantu saya menemukan kata sandi yang lemah dan hilang pada beberapa dokumen pengguna saya. Ia memeriksa kata sandi dengan karakter ASCII mulai dari 1 hingga z. Anda akan memanggilnya dari Jendela Segera dan tunggu beberapa menit seperti ini:
? 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
atau yang serupa.