Non capisco perchè hai inviato in privato il file di test, visto che e’ un file contenente due Fogli praticamente vuoti e con nel vba il codice che abbiamo pubblicato qui sul forum, cioe’ senza nessuna informazione riservata.
Ho salvato il file con una “password di scrittura” (chi non conosce la password puo’ aprire solo in lettura).
Apro il file; se inserisco la password si apre il file con ambedue i fogli visibili; salvo il file e chiudo (questa fase e’ necessaria per far lavorare almeno una volta le Sub Workbook_BeforeSave e Sub Workbook_AfterSave)
Riapro il file senza inserire la password, quindi in “sola lettura”; il file si presenta col foglio “Master” non visibile, anche se le macro fossero disabilitate.
TUTTAVIA se il file aperto in sola lettura viene salvato con nome file B, allora (poiche’ questo file non eredita la password di scrittura del file originale, alla riapertura di questo file B il foglio Master sara’ visibile senza bisogno della password.
Per evitare questo, modifichiamo la Sub Workbook_Open come segue:
- Codice: Seleziona tutto
Private Sub Workbook_Open()
Dim Orig As String
‘Stop
Orig = "D:\DDownloads\byMILANOOO_C41125_Esempio.xlsm" '<<< Percorso e nome del file
ThisWorkbook.Unprotect Password:="pippo"
If Not ThisWorkbook.ReadOnly And ThisWorkbook.FullName = Orig Then
Sheets("master").Visible = xlSheetVisible
Else
Sheets("Master").Visible = xlSheetVeryHidden
End If
ThisWorkbook.Protect Password:="pippo"
End Sub
L’istruzione marcata <<< va compilata con percorso e nome del file che si vuole proteggere.
Il rimanente codice del modulo ThisWorkbook /QuestaCartellaDiLavoro rimane invariato
Prova e fai sapere, possibilmente “rapidamente”