«

»

Lug 13

Excel : rimuovere password protezione foglio

In Microsoft Excel è possibile impostare diverse password di protezione : sull’intero file in modo che sia leggibile / modificabile solo da chi conosce la password, oppure sui singoli fogli di lavoro contenuti nel file o sulla cartella di lavoro.

Non conoscere la password usata per la protezione di solito è bloccante e non vi permette di fare modifiche al file, se però il vostro file adotta solo la password di protezione sul foglio o sulla cartella di lavoro potete usare qualche piccolo trucchetto per cercare di aggirare questa protezione anche senza conoscere la password usata per bloccare il file.

 

Il blocco dei fogli di lavoro o della cartella di lavoro di solito è abbastanza evidente perchè quando tentate di modificare il contenuto o la struttura delle celle vedrete che l’operazione vi sarà impedita, in questi casi lo sblocco, conoscendo la password, si fa da :

Revisione -> Rimuovi Protezione foglio

Revisione -> Rimuovi Protezione cartella di lavoro

come descritto anche in questo doc di Microsoft :

https://support.office.com/it-it/article/bloccare-o-sbloccare-aree-specifiche-di-un-foglio-di-lavoro-protetto-75481b72-db8a-4267-8c43-042a5f2cd93a?ui=it-IT&rs=it-IT&ad=IT

 

Ma come dicevamo nel caso non conosciate la password usata per bloccare il foglio potete tentare questa procedura :

  • aprite il vostro file Excel che ha il foglio / fogli protetti
  • premete  ALT+F11  per aprire l’editor Vba di Excel
  • selezionate dal menù superiore  Inserisci -> Modulo
  • fate copia e incolla di tutto il testo qui sotto nella finestra del nuovo modulo che avete appena aperto :

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

  • premete  F5  o il bottone Esegui  (l’icona a forma di Play  |>  nel menù superiore) per fare eseguire il codice appena inserito nel modulo
  • dopo pochi istanti comparirà una finestra popup che contiene una password compatibile con quella che è stata usata per bloccare il foglio (qualcosa del tipo : AABAAAABAAAN), annotatevela se avete altri files dallo stesso autore, probabilmente ha usato sempre la stessa password e questa vi permetterà di sbloccare anche gli altri files protetti.
    Nota : la password di sblocco calcolata dalla macro NON è la password originale usata dall’autore del file Excel ma una password compatibile, cioè che ha lo stesso hash e riesce a sbloccare il foglio.
  • ora tornate pure al vostro file Excel che risulterà già sbloccato a livello di fogli, quindi non vi resta che salvarlo sbloccato per non avere più la password di protezione sul foglio, la macro che abbiamo usato potete anche cancellarla dall’editor Vba prima di salvare il file, non ci servirà più

 

Questa procedura funziona sempre con i files in formato XLS ma a volte fallisce quando si usa il nuovo formato di file XLSX , credo dipenda dalla versione di Office, nel caso la macro sopra non dia i risultati sperati provate quest’altra procedura che è leggermente più laboriosa ma funziona sempre :

  • rinominate il vostro file Excel da FILE.XLSX a FILE.ZIP (si ! i files che finiscono in X di Office sono degli zip !)
  • espandete il file ZIP appena rinominato in una cartella temporanea, esempio C:\TEMP\FILE\
  • se entrate nella cartella troverete una struttura simile a questa immagine con diverse sotto cartelle e files  :

 

 

 

 

 

  • entrate nella sotto cartella  xl\worksheets\   quindi nel nostro esempio :
    C:\TEMP\FILE\XL\WORKSHEETS\
    qui dovreste trovare tanti files SHEET#.XML quanti sono i fogli di lavoro contenuti all’interno del vostro file Excel, esempio : sheet1.xml, sheet2.xml, ecc….
  • aprite ogni file SHEET#.XML con un editor di testo qualsiasi (esempio : Blocco Note, Notepad++, PsPad, Textpad o simili)
  • cercate nel file la stringa
    <sheetProtection password
  • dovreste trovare qualcosa di simile a :
    <sheetProtection password=”CF7A”
  • cambiate la riga in modo che si legga come :
    <sheetProtection password=””
    in pratica dovete rimuovere tutte le lettere tra apici nel campo password lasciandolo vuoto, fate attenzione a NON modificare altri campi ,dati o caratteri presenti nel file !
  • salvate il file SHEET#.XML appena modificato e passate al successivo
  • quando avete terminato le modifiche su ogni file ricompattate tutti i files della cartella di lavoro in un unico file ZIP , il modo più sicuro per fare questa operazione è posizionarsi da esplora risorse all’interno della cartella di lavoro, nel nostro esempio C:\TEMP\FILE\  , selezionare tutti i files con CTRL-A e quindi premere il tasto destro del mouse e scegliere dal menù che compare INVIA A -> CARTELLA COMPRESSA come da immagine qui sotto :

 

 

 

 

 

 

 

 

  • ora rinominate il file ZIP appena creato (se avete usato la nostra procedura sopra si chiamerà _rels.zip) in FILE.XLSX
  • aprite il nuovo FILE.XLSX che si trova nella cartella di lavoro, quindi seguendo sempre il nostro esempio il file che si trova in C:\TEMP\FILE\FILE.XLSX
  • sbloccate i fogli di lavoro andando in :
    Revisione -> Rimuovi Protezione foglio
    non preoccupatevi, non vi verrà chiesta nessuna password, sarà solo necessario fare la procedura di rimozione protezione, salvate il file et voilà avrete il vostro file sprotetto e modificabile senza vincoli.

 

 

La stessa procedura è applicabile anche quando è stata usata una protezione sulla cartella di lavoro in questo caso i passaggi da fare sono i seguenti :

  • rinominate il vostro file Excel da FILE.XLSX a FILE.ZIP
  • espandete il file ZIP appena rinominato in una cartella temporanea, esempio C:\TEMP\FILE\
  • se entrate nella cartella troverete una struttura simile a questa immagine con diverse sotto cartelle e files  :

 

 

 

 

 

  • entrate nella sotto cartella  xl   quindi nel nostro esempio :C:\TEMP\FILE\XL\
  • aprite il file WORKBOOK.XML con un editor di testo qualsiasi
  • cercate nel file la stringa
    <workbookProtection
  • dovreste trovare qualcosa di simile a :
    <workbookProtection workbookPassword=”CF7A”
  • cambiate la riga in modo che si legga come :
    <workbookProtection workbookPassword=””
    in pratica dovete rimuovere tutte le lettere tra apici nel campo password lasciandolo vuoto, fate attenzione a NON modificare altri campi ,dati o caratteri presenti nel file !
  • salvate il file WORKBOOK.XML
  • quando avete terminato ricompattate tutti i files della cartella di lavoro in un unico file ZIP , il modo più sicuro per fare questa operazione è posizionarsi da esplora risorse all’interno della cartella di lavoro, nel nostro esempio C:\TEMP\FILE\  , selezionare tutti i files con CTRL-A e quindi premere il tasto destro del mouse e scegliere dal menù che compare INVIA A -> CARTELLA COMPRESSA come da immagine qui sotto :

 

 

 

 

 

 

 

 

  • ora rinominate il file ZIP appena creato (se avete usato la nostra procedura sopra si chiamerà _rels.zip) in FILE.XLSX
  • aprite il nuovo FILE.XLSX che si trova nella cartella di lavoro, quindi da esempio il file che si trova in
    C:\TEMP\FILE\FILE.XLSX
  • sbloccate la cartella di lavoro andando in :
    Revisione -> Rimuovi Protezione cartella di lavoro
    non preoccupatevi, non vi verrà chiesta nessuna password, sarà solo necessario fare la procedura di rimozione protezione, salvate il file e siete a posto, avrete il vostro file sprotetto e modificabile senza nessun vincolo.

 

Spero che queste procedure possano essere utili in tutti quei casi di urgenza in cui è necessario modificare un file di Excel ma per qualsiasi motivo non sia più possibile recuperare la password di protezione foglio o cartella di lavoro.

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Puoi usare i seguenti tag ed attributi HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

code