2013-03-12 20 views
8

È possibile sapere se Excel è sporco o no.Verificare se Excel è in stato di sporcizia

Per stato sporco, intendo: - Quando si fa qualcosa su Excel e si chiude il pulsante di salvataggio - Excel chiede di salvare il file. Quindi ci deve essere un flag che viene impostato quando il file viene modificato.

Posso conoscere lo stato di un file Excel tramite il codice C#?

Ha cercato molto, ma non è disponibile molto aiuto. È disponibile un'opzione che consente di sapere se Excel è in modifica oppure no guardando GetRibbonControlEnabled("FileNewDefault")

In questo caso è possibile verificare se Excel è in stato di modifica solo nel momento in cui si esegue questo metodo.

Cosa succede se voglio sapere se Excel è stato modificato/reso sporco dal momento in cui è stato aperto.

Si prega di non dare consigli per iniziare il thread in background che continua a cercare se Excel era in modalità di modifica usando la funzione precedente.

Un aiuto sarà estremamente apprezzato.

risposta

5

Dai un'occhiata alla proprietà Workbook.Saved. Ti dirà se l'utente ha modificato il documento dall'ultima volta che è stato aperto.

bool isDirty = !Globals.Application.ActiveWorkbook.Saved; 
+1

Re: "isDirty": Penso che tu abbia perso un operatore "non" lì .... –

+0

corretto - nice catch @GordThompson! – SliverNinja

2

In un modulo Excel VBA si può testare la proprietà ActiveWorkbook.Saved, e se è False quindi la cartella di lavoro contiene modifiche non salvate (è "sporco"). Dettagli here. Vedi se puoi controllare quella proprietà dal tuo codice C#.

Problemi correlati