หากคุณรู้ว่ารหัสผ่านคืออะไรให้ไปข้างหน้าแล้วเปิดเอกสาร Excel จากนั้นคลิกที่ไฟล์> บันทึกเป็น ทางด้านซ้ายของปุ่มบันทึกจะเป็นเครื่องมือแบบเลื่อนลงเล็กน้อย คลิกที่นั้นแล้วคลิกที่ตัวเลือกทั่วไป ลบรายการรหัสผ่านที่นั่นแล้วคลิกตกลง บันทึกเอกสาร
หากคุณไม่ทราบว่ารหัสผ่านคืออะไรคุณสามารถใช้ VBA เพื่อค้นหาได้ หากฉันต้องเดาผู้ใช้ของคุณอาจไม่ได้ใช้รหัสผ่านที่แข็งแกร่งมากดังนั้นเราจึงสามารถใช้วิธีการบังคับแบบ brute force เพื่อค้นหา รหัสด้านล่างนั้นหยาบ แต่มันช่วยให้ฉันค้นพบรหัสผ่านที่อ่อนแอและสูญหายในเอกสารของผู้ใช้ของฉัน มันจะตรวจสอบรหัสผ่านที่มีความยาวเท่าใดก็ได้ด้วยอักขระ 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หรือบางสิ่งที่คล้ายกัน