Sommario
L'articolo illustra come attivare le macro in Excel, spiega le basi della sicurezza delle macro e mostra come regolare le impostazioni di sicurezza per eseguire i codici VBA in modo sicuro.
Come quasi tutte le tecnologie, le macro possono essere utilizzate sia per il bene che per il male. Pertanto, in Microsoft Excel, tutte le macro sono disattivate per impostazione predefinita. Questa esercitazione illustra i diversi modi per attivare le macro in Excel e spiega i potenziali rischi associati.
Sicurezza delle macro in Excel
Prima di attivare le macro nei fogli di lavoro, è importante capire quanto possano essere pericolose.
Sebbene i codici VBA siano molto efficaci per automatizzare attività complesse e ripetitive, rappresentano una fonte significativa di rischio dal punto di vista della sicurezza. Una macro dannosa eseguita inconsapevolmente può danneggiare o cancellare completamente i file presenti sul disco rigido, incasinare i dati e persino corrompere l'installazione di Microsoft Office. Per questo motivo, l'impostazione predefinita di Excel prevede la disattivazione di tutte le macro connotifica.
Per evitare questi pericoli basta seguire una semplice regola: attivare solo macro sicure, ovvero quelle scritte o registrate da voi stessi, macro provenienti da fonti affidabili e codici VBA che avete esaminato e compreso appieno.
Come abilitare le macro per le singole cartelle di lavoro
Esistono due modi per attivare le macro per un determinato file: direttamente dalla cartella di lavoro e attraverso la vista Backstage.
Abilitazione delle macro tramite la barra di avviso di sicurezza
Con le impostazioni macro predefinite, quando si apre per la prima volta una cartella di lavoro contenente macro, la barra gialla di avviso di sicurezza appare nella parte superiore del foglio, proprio sotto la barra multifunzione:
Se l'Editor Visual Basic è aperto al momento dell'apertura del file con macro, verrà visualizzato l'avviso di sicurezza di Microsoft Excel:
Se ci si fida dell'origine del file e si sa che tutte le macro sono sicure, fare clic sul pulsante Abilitare il contenuto o Abilitare le macro In questo modo si attivano le macro e si rende il file un file di tipo documento attendibile La prossima volta che si apre la cartella di lavoro, l'avviso di sicurezza non apparirà più.
Se l'origine del file è sconosciuta e non si desidera abilitare le macro, è possibile fare clic sul pulsante "X" per chiudere l'avviso di sicurezza. L'avviso scomparirà, ma le macro rimarranno disabilitate. Qualsiasi tentativo di eseguire una macro provocherà il seguente messaggio.
Se le macro sono state disattivate per sbaglio, è sufficiente riaprire la cartella di lavoro e fare clic sul pulsante Abilitare il contenuto sulla barra di avviso.
Attivare le macro nella vista Backstage
Un altro modo per abilitare le macro per una specifica cartella di lavoro è la vista Backstage di Office. Ecco come fare:
- Fare clic sul pulsante File e quindi fare clic su Info nel menu di sinistra.
- Nel Avviso di sicurezza fare clic su Abilitare il contenuto > Abilita tutti i contenuti .
Come per il metodo precedente, la cartella di lavoro diventerà un documento attendibile.
Cosa c'è da sapere sui documenti attendibili in Excel
L'abilitazione delle macro attraverso la barra dei messaggi o la vista Backstage rende il file un documento attendibile. Tuttavia, alcuni file di Excel non possono essere resi attendibili. Ad esempio, i file aperti da una posizione non sicura, come la cartella Temp, o se l'amministratore di sistema ha impostato i criteri di sicurezza dell'organizzazione in modo da disabilitare tutte le macro senza notifica. In questi casi, le macro vengono abilitate soltantoAlla successiva apertura del file, Excel chiederà di abilitare nuovamente il contenuto. Per evitare questo problema, è possibile modificare le impostazioni del Centro fiduciario o salvare il file in una posizione attendibile.
Una volta che una determinata cartella di lavoro diventa un documento attendibile, non c'è modo di toglierle l'attendibilità. È possibile solo cancellare l'elenco dei documenti attendibili. A tale scopo, procedere come segue:
- Cliccare File > Opzioni .
- A sinistra, selezionare Centro fiduciario e quindi fare clic su Impostazioni del Trust Center .
- Nel Centro fiduciario selezionare la finestra di dialogo Documenti affidabili a sinistra.
- Cliccare Libero e quindi fare clic su OK .
In questo modo tutti i file precedentemente attendibili non saranno attendibili. Quando si apre un file di questo tipo, viene visualizzato l'avviso di sicurezza.
Suggerimento: se non si desidera rendere attendibile alcun documento, selezionare l'opzione Disattivare i documenti attendibili box. Sarà ancora possibile attivare le macro all'apertura di una cartella di lavoro, ma solo per la sessione corrente.
Come abilitare le macro per una sessione
In alcune situazioni, è ragionevole abilitare le macro solo per una volta. Ad esempio, quando si riceve un file Excel con codice VBA che si desidera analizzare, ma non si desidera rendere questo file un documento attendibile.
Le seguenti istruzioni vi guideranno attraverso i passaggi per abilitare le macro per tutto il tempo in cui il file è aperto:
- Fare clic sul pulsante File scheda> Info .
- Nel Avviso di sicurezza fare clic su Abilitare il contenuto > Opzioni avanzate .
- Nel Opzioni di sicurezza di Microsoft Office selezionare la finestra di dialogo Abilitare i contenuti per questa sessione e fare clic su OK .
In questo modo si attivano le macro per una sola volta. Quando si chiude la cartella di lavoro e la si riapre, l'avviso appare di nuovo.
Come abilitare le macro in tutte le cartelle di lavoro tramite il Centro fiduciario
Microsoft Excel determina se consentire o meno l'esecuzione dei codici VBA in base all'impostazione della macro selezionata nell'opzione Centro fiduciario, che è il luogo in cui si configurano tutte le impostazioni di sicurezza di Excel.
Per attivare le macro in tutte le cartelle di lavoro di Excel per impostazione predefinita, è necessario procedere in questo modo:
- Fare clic sul pulsante File e quindi fare clic su Opzioni in fondo alla barra di sinistra.
- Nel riquadro di sinistra, selezionare Centro fiduciario e quindi fare clic su Impostazioni del Trust Center... .
Note:
- L'opzione impostata tramite il Centro fiduciario diventa la nuova opzione impostazione macro predefinita e si applica globalmente a tutti i file di Excel. Se si desidera attivare le macro solo per specifiche cartelle di lavoro, salvarle in una posizione attendibile.
- Abilitare tutte le macro in tutte le cartelle di lavoro rende il computer vulnerabile a codici potenzialmente pericolosi.
Le impostazioni delle macro di Excel spiegate
Di seguito illustreremo brevemente tutte le macro impostazioni del Trust Center per aiutarvi a prendere una decisione consapevole:
- Disattivare tutte le macro senza notifica - tutte le macro sono disabilitate; non viene visualizzato alcun avviso. Non sarà possibile eseguire alcuna macro, tranne quelle memorizzate in posizioni attendibili.
- Disattivare tutte le macro con notifica (predefinito) - le macro sono disabilitate, ma è possibile abilitarle caso per caso.
- Disabilita tutte le macro, tranne quelle firmate digitalmente. - Le macro non firmate vengono disabilitate con le notifiche. Le macro firmate digitalmente con un certificato speciale da un editore attendibile possono essere eseguite. Se non si è attendibile l'editore, Excel chiederà di attendersi l'editore e di abilitare la macro.
- Abilita tutte le macro (non consigliato) - tutte le macro possono essere eseguite, compresi i codici potenzialmente dannosi.
- Accesso fiduciario al modello di oggetti del progetto VBA - Questa impostazione controlla l'accesso programmatico al modello di oggetti di Visual Basic for Applications. È disattivata per impostazione predefinita per evitare che programmi non autorizzati modifichino le macro o creino codici dannosi auto-replicanti.
Quando si modificano le impostazioni del Centro fiduciario, tenere presente che si applicano solo a Excel e non a tutti i programmi di Office.
Abilitate le macro in modo permanente in una posizione affidabile.
Invece di manipolare le impostazioni globali delle macro, è possibile configurare Excel in modo da fidarsi di posizioni specifiche sul computer o sulla rete locale. Qualsiasi file di Excel in una posizione fidata si apre con le macro abilitate e senza avvisi di sicurezza, anche se il file è stato aperto in una posizione fidata. Disattivare tutte le macro senza notifica Nelle impostazioni del Centro fiduciario è stata selezionata l'opzione "Macro", che consente di eseguire macro in determinate cartelle di lavoro quando tutte le altre macro di Excel sono disattivate!
Un esempio di questi file è la cartella di lavoro Macro personali: tutti i codici VBA contenuti in questa cartella di lavoro sono disponibili per l'uso ogni volta che si avvia Excel, indipendentemente dalle impostazioni delle macro.
Per visualizzare le posizioni attendibili attuali o aggiungerne una nuova, procedere come segue:
- Cliccare File > Opzioni .
- Nel riquadro di sinistra, selezionare Centro fiduciario e quindi fare clic su Impostazioni del Trust Center... .
- Nel Centro fiduciario selezionare la finestra di dialogo Sedi affidabili Sul lato sinistro viene visualizzato un elenco delle posizioni predefinite affidabili. Queste posizioni sono importanti per il corretto funzionamento dei componenti aggiuntivi, delle macro e dei modelli di Excel e non devono essere modificate. Tecnicamente, è possibile salvare la cartella di lavoro in una delle posizioni predefinite di Excel, ma è meglio crearne una propria.
- Per impostare la posizione di fiducia, fare clic su Aggiungi una nuova posizione... .
- Fare clic sul pulsante Sfogliare per spostarsi nella cartella che si desidera rendere una posizione attendibile.
- Se si desidera che anche le sottocartelle della cartella selezionata siano attendibili, selezionare l'opzione Anche le sottocartelle di questa posizione sono attendibili. scatola.
- Digitare un breve avviso nel campo Descrizione (questo può aiutare a gestire più sedi) o lasciarlo vuoto.
- Cliccare OK .
Ora è possibile collocare la cartella di lavoro con le macro in una posizione fidata e non preoccuparsi delle impostazioni di sicurezza di Excel.
Suggerimenti e note:
- Fate molta attenzione quando scegliete una posizione attendibile. Poiché Excel abilita automaticamente tutte le macro in tutte le cartelle di lavoro memorizzate in posizioni attendibili, queste diventano una sorta di falle nel sistema di sicurezza, vulnerabili ai virus delle macro e agli attacchi di hacking. Non rendete mai una cartella temporanea un'origine attendibile. Inoltre, fate attenzione con l'opzione Documenti piuttosto creare una sottocartella e designarla come posizione attendibile.
- Se per errore è stata aggiunta una determinata cartella all'elenco delle posizioni attendibili, selezionarla e fare clic sul pulsante Rimuovere pulsante.
Come attivare le macro in modo programmatico con VBA
Sui forum di Excel, molti chiedono se sia possibile attivare le macro in modo programmatico all'apertura di una cartella di lavoro e disattivarle prima di uscire. La risposta immediata è "No, non è possibile". Poiché la sicurezza delle macro è fondamentale per la sicurezza di Excel, Microsoft ha progettato qualsiasi codice VBA in modo che venga attivato solo da un clic dell'utente.
Tuttavia, quando Microsoft chiude una porta, l'utente apre una finestra :) Come soluzione, qualcuno ha suggerito un modo per costringere l'utente ad abilitare le macro con una sorta di "splash screen" o "foglio di istruzioni". L'idea generale è la seguente:
Si scrive un codice che rende tutti i fogli di lavoro tranne uno molto nascosti (xlSheetVeryHidden). Il foglio visibile (splash screen) dice qualcosa come "Abilitare le macro e riaprire il file" o fornisce istruzioni più dettagliate.
Se le macro sono disattivate, l'utente può vedere solo il foglio di lavoro "Splash Screen"; tutti gli altri fogli sono nascosti.
Se le macro sono abilitate, il codice nasconde tutti i fogli e li rende nuovamente molto nascosti alla chiusura della cartella di lavoro.
Come disattivare le macro in Excel
Come già detto, l'impostazione predefinita di Excel prevede la disattivazione delle macro con notifica e la possibilità di attivarle manualmente se lo si desidera. Se si desidera disattivare tutte le macro in modo silenzioso, senza alcuna notifica, scegliere l'opzione corrispondente (la prima) nel Centro fiduciario.
- In Excel, fare clic sul pulsante File scheda> Opzioni .
- Nel riquadro di sinistra, selezionare Centro fiduciario e quindi fare clic su Impostazioni del Trust Center... .
- Nel menu di sinistra, selezionare Impostazioni macro , scegliere Disattivare tutte le macro senza notifica e fare clic su OK .
Ecco come si possono attivare e disattivare le macro in Excel. Vi ringrazio per la lettura e spero di vedervi sul nostro blog la prossima settimana!