Buongiorno,
Mi è capitato l'altro giorno di aver a che fare con un DB nascosto (insieme ad un altro sheet contenente le liste, ma non bloccato) inerente ad alcune configurazioni BSH (su IMSS dov'è configurata la parte logica della numerazione VoIP).
il DB per estrapolare i dati era bloccato, protetto da Password.
Così ho deciso di condividere con voi tale esperienza qualora potesse servire.
Lo sheet in questione, assieme ad un altro erano nascosti perciò procedere in suddetto modo:
(se tali sheet non sono nascosti è possibile saltare questa parte)In Home:1- Sezione Formato (in altro a destra)-> Nascondi e Scopri-> Foglio (ripetuto 2 volte per gli sheet nascosti DB e Liste)
2- Sezione Formato (in altro a destra)-> Nascondi e Scopri-> Righe
3- Sezione Formato (in altro a destra)-> Nascondi e Scopri-> Colonne4- A questo punto è comparso lo sheet protetto Database. (ora visibile grazie alle impostazioni Formato sopracitate)
5- Digitare ALT+F11 e premere inserisci modulo.
A questo punto inserire il seguente codice:
Sub PasswordBreak()
Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, m As Integer, n As Integer
Dim i1 As Integer, i2 As Integer, i3 As Integer
Dim i4 As Integer, i5 As Integer, i6 As Integer
On Error Resume Next
For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
If ActiveSheet.ProtectContents = False Then
MsgBox “Password = ” & Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
Exit Sub
End If
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next
End Sub
6- Recarsi nello sheet protetto, premere ALT+F8 ed Eseguire PasswordBreak.
7- Comparirà un popup con scritto Falso et voilà, foglio sprotetto.
N.B. - Si può fare la stessa procedura con un intero foglio di lavoro sostituendo
ActiveSheet.ProtectContents con
ActiveWorkbook.ProtectStructure e dunque
ActiveWorkbook.UnprotectN.B. 2 - Se i fogli (sheet come vogliasi chiamare) scoperti dovessero contenere 65536 righe, per rimuovere il problema è sufficiente cliccare in alto a destra (sempre in Home):
Formato -> Adatta altezza righe. Questo pulirà gli sheet scoperti dalle celle vuote in eccessso.
Ovviamente il mio è un esempio, ma questa procedura può essere adoperata da tutti in casi di emergenza e/o dimenticanza della password del foglio protetto.
Saluti