Si applica a
Excel 2007

Riepilogo

In Microsoft Excel è possibile creare una macro di Microsoft Visual Basic, Applications Edition (VBA) che elimina la richiesta Salva modifiche quando si chiude una cartella di lavoro. Questa operazione può essere eseguita specificando lo stato della proprietà Saved della cartella di lavoro oppure eliminando tutti gli avvisi per la cartella di lavoro.

Altre informazioni

NOTA:Microsoft fornisce esempi di programmazione a titolo puramente illustrativo, senza alcuna garanzia espressa o implicita. Ciò include, a titolo esemplificativo e non esaustivo, le garanzie implicite di commerciabilità o idoneità a uno scopo particolare. Questo articolo presuppone che si abbia familiarità con il linguaggio di programmazione oggetto della dimostrazione e con gli strumenti utilizzati per la creazione e il debug delle procedure. I tecnici dell'assistenza Microsoft possono aiutare a spiegare la funzionalità di una particolare procedura. Tuttavia, non modificheranno questi esempi per fornire funzionalità aggiuntive o costruire procedure che soddisfino i vostri requisiti specifici. Per preparare l'implementazione di uno degli esempi seguenti, eseguire prima questi passaggi:

  1. Avviare Excel e aprire una nuova cartella di lavoro.

  2. Premere ALT+F11 per avviare l'editor di Visual Basic.

  3. Scegliere Modulo dal menu Inserisci.

  4. Digitare il codice macro di esempio nel foglio modulo.

  5. Premere ALT+F11 per tornare a Excel.

  6. In Microsoft Office Excel 2003 e nelle versioni precedenti di Excel scegliere Macro dal menu Strumenti e quindi fare clic su Macro.In Microsoft Office Excel 2007 fare clic su Macro nel gruppo Codice della scheda SviluppoSe la scheda Sviluppo non è disponibile, è consigliabile procedere come segue:     un. Fare clic sul pulsante Microsoft Office e quindi su Opzioni di Excel.b. Nella categoria Impostazioni generali, in Opzioni principali per l'uso di Excel, fare clic per selezionare l'opzione Mostra         Scheda Sviluppo nella casella di controllo Barra multifunzione e quindi fare clic su OK.

  7. Selezionare la macro desiderata e quindi fare clic su Esegui.

La proprietà Saved restituisce il valore False se sono state apportate modifiche a una cartella di lavoro dall'ultimo salvataggio.È possibile usare il nome della subroutine riservata Auto_Close per specificare una macro da eseguire ogni volta che una cartella di lavoro viene chiusa. In questo modo è possibile controllare come viene gestito il documento quando l'utente chiude i documenti in Excel.  

Esempio 1: Chiudere la cartella di lavoro senza salvare le modifiche

Per forzare la chiusura di una cartella di lavoro senza salvare le modifiche, digitare il codice seguente in un modulo visual basic della cartella di lavoro:  

    Sub Auto_Close()

        ThisWorkbook.Saved = True

    End Sub

Quando la proprietà Saved è impostata su True, Excel risponde come se la cartella di lavoro fosse già stata salvata e non sono state apportate modifiche dopo l'ultimo salvataggio.La proprietà DisplayAlerts del programma può essere utilizzata per lo stesso scopo. Ad esempio, la macro seguente disattiva DisplayAlerts, chiude la cartella di lavoro attiva senza salvare le modifiche e quindi riattiva DisplayAlerts.  

    Sub CloseBook()

        Application.DisplayAlerts = False

        ActiveWorkbook.Close

        Application.DisplayAlerts = True

    End Sub

È anche possibile usare l'argomento SaveChanges del metodo Close.La macro seguente chiude la cartella di lavoro senza salvare le modifiche:  

    Sub CloseBook2()

        ActiveWorkbook.Close savechanges:=False

    End Sub

Esempio 2: Chiudere la cartella di lavoro e salvare le modifiche

Per forzare il salvataggio delle modifiche in una cartella di lavoro, digitare il codice seguente in un modulo visual basic della cartella di lavoro:  

    Sub Auto_Close()

        If ThisWorkbook.Saved = False Then

            ThisWorkbook.Save End If

    End Sub

Questa procedura secondaria verifica se la proprietà Saved del file è stata impostata su False. In tal caso, la cartella di lavoro è stata modificata dopo l'ultimo salvataggio e le modifiche vengono salvate.

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.