Chiudi file xcel senza salvare



  • Chiudi file xcel senza salvare
    di Kaos (utente non iscritto) data: 21/04/2015 19:12:42

    Salve ho un problema da risolvere con excel, dovrei chiudere il file senza salvare le modifiche apportate, con il codice
    Allegato chiudo il file solo che mi salva le modifiche apportate. Ho provato a modificarlo ma con scarsi risultati.
    Se cambio ThisWorkbook.Save a ThisWorkbook.close, non salva le modifiche solo che mi chiuse il foglio di lavoro, mentre io devo chiudere tutto il programma.
    Come posso Fare?

     
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    
          With Application
             .DisplayAlerts = False
             ThisWorkbook.Save
             .Quit
             .DisplayAlerts = True
          End With
    
    End Sub
    



  • di alfrimpa data: 21/04/2015 19:33:19

    Ciao Kaos

    Prova con questa macro

    Non so se è questo che vuoi.

    Alfredo
     
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    
          With Application
             .DisplayAlerts = False
             ThisWorkbook.Close SaveChanges:=False
             .Quit
             .DisplayAlerts = True
          End With
    
    End Sub
    
    






  • di Kaos (utente non iscritto) data: 21/04/2015 19:42:54

    ciao alfrimpa grazie per la risposta, il problema è che deve chiudere totalmente excel non solo il foglio di lavoro? Con il codice segnalato chiude solo il foglio di lavoro ma excel resta aperto, io devo chiudere tutto il programma



  • di Lucas87 data: 22/04/2015 10:44:29

    Ciao
    Prova così.
    Il codice di prima non funzionava perchè l'istruzione .quit sarebbe stata eseguita dopo la chiusura del foglio, quindi in un momento in cui la macro non sarebbe stata in esecuzione.

    ATTENZIONE!!!
    L'utilizzo di Application.Quit è sconsigliato e rischioso in quanto vengono chiuse le istanze di excel, con il rischio di perdere le modifiche su altri file aperti.
     
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
        ActiveWorkbook.Saved = True
        Application.Quit
    End Sub



  • di Kaos (utente non iscritto) data: 24/04/2015 18:10:39

    Grazie Lucas87 adesso funziona tutto, grazie ancora