Si descrive brevemente come, da un file contente la sub mostrata in basso, aprire e modificare un secondo file protetto da password per aggiornarne il contenuto.
Ipotizziamo di avere un file “main.xlsm” (cartella di lavoro con attivazione macro) e di voler aprire e modificare il file protetto da password “psw.xlsx”.
Aperto il file main e avviato l’editor VBA (ALT + F11) si andrà ad inserire un nuovo modulo che nomineremo “apri_file_protetto” con la seguente Sub all’interno:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
Option Explicit Sub apri_file_protetto() Application.ScreenUpdating = False Dim wb1 As Workbook 'apertura file Set wb1 = Workbooks.Open(Filename:="C:\Users\...\psw.xlsx", WriteResPassword:="password") 'modifica del file wb1.Activate Sheets("Foglio1").Activate Range("A1") = "Success!" wb1.Save wb1.Close Set wb1 = Nothing 'messaggio di conferma MsgBox "File aggiornato correttamente" Application.ScreenUpdating = True End Sub |
Come visibile nella sub, la password verrà passata con l’opzione “WriteResPassword”.
Chiuso l’editor VBA, per comodità, assegneremo la sub a una forma che inseriremo sul foglio da utilizzare come bottone:

In questo modo cliccando sul bottone “Aggiorna File” verrà eseguita la modifica richiesta.
Per semplicità, nell’esempio, è stata modificata la prima cella nell’intervallo A1, ma la funzione trova un grande impiego quando si lavora in team e su file condivisi.