I fogli elettronici complessi spesso contengono macro e richieste di password, senza le quali non funzionano nel modo corretto e producono risultati errati. Vogliamo evitare che un utente possa lavorare su questo tipo di fogli elettronici senza prima attivare l'esecuzione delle macro.
Per ottenere lo scopo è necessario programmare le macro in modo che nessuno possa accedere ai dati del foglio elettronico senza eseguirle. Ciò è importante perché gli utenti potrebbero evitare l'avvio delle macro semplicemente regolando le impostazioni di sicurezza; inoltre, tenere premuto il tasto Maiusc mentre si apre un file di Excel disabilita temporaneamente le macro in esso contenute.
Come prima cosa modificare lo status del foglio elettronico in Addin, cosicché quando l'utente aprirà il file vedrà lo schermo di Excel vuoto. Lo status verrà cambiato solamente se il foglio sarà aperto con le macro attivate, perché sarà una macro a modificarlo e a rendere visibile il foglio nascosto.
Infine, prima di chiudere il foglio una macro dovrà resettare automaticamente lo status.
Per ottenere questi effetti basta creare due brevi macro: da menù selezionare Strumenti/Macro/Visual Basic Editor e fare doppio click sulla voce ThisWorkbook relativa al file aperto sotto VBAproject nella casella dei Progetti in alto a sinistra.
Digitare nell'editor queste linee di codice:
Private Sub Workbook_Open()
ThisWorkbook.IsAddin = False
End Sub
Private Sub Workbook_ BeforeClose(Cancel As Boolean)
ThisWorkbook.IsAddin = True
ThisWorkbook.Save
End Sub
Uscire dall'editor Vba con File/Chiudi e tornare a Microsoft Excel. Salvare il foglio elettronico e chiudere Excel.
Quando un utente aprirà il foglio elettronico senza attivare le macro vedrà solo lo schermo di Excel vuoto, senza i dati contenuti nel foglio originale né un add-in attivo.
Solo aprendo il file con le macro attivate il foglio elettronico sarà visibile e l'utente potrà utilizzarlo.