2010-12-29 6 views

risposta

4

Presumo intendi che hai contenuto in una cella, che potrebbe essere una data, una doppia o una stringa semplice, e che vuoi affermare che tipo di .NET corrispondente è . Credo che non ci sia un modo diretto per farlo. Un approccio sarebbe quello di recuperare il Valore2 nella cella, e provare a lanciarlo su ciascuno di questi tipi, a partire da quello più restrittivo, fino a quando il cast non funziona - cioè DateTime (DateTime.FromOADate), quindi double (Convert.ToDouble) , quindi string - e quindi applica la regola di convalida che si applica al particolare tipo che hai trovato.
Non sono abbastanza sicuro di cosa intendi per convalida, però, e cosa ti comprerebbe. Una volta che conosci il tipo di contenuto, cosa faresti con esso?

+0

Supponiamo che l'utente immetta un valore di data errato nella cella e desidero chiedere all'utente non appena inserisce la data ... ho provato l'evento sheetchange ma poiché ho usato la cella di copia più offen l'evento shhet cambia gli incendi in quel momento e quindi la validazione che non è possibile per me ... grazie per la tua risposta :) – Smack

+0

Potresti riuscire a fare quello che vuoi, ma dipende da quanto è strutturato il foglio - e ci vuole un bel po 'di lavoro. Supponiamo che tu abbia un foglio dove sai che la colonna C dovrebbe contenere le date; quindi è possibile utilizzare l'evento modificato del contenuto per il foglio, verificare se l'intervallo modificato contiene celle nella colonna C ed esercitare la convalida appropriata. – Mathias

+0

Bella spiegazione Mathias. Questo è essenzialmente l'unico modo per iniziare la convalida della cella poiché è necessario prima separare Value2 in una stringa, in una doppia, in OLEDate o in Bool. –

1

Uso personalmente la tecnica di convalida dei dati di Excel in un'applicazione VSTO. Ovviamente non è VSTO ma funziona abbastanza bene. Ci sono alcuni svantaggi come se tu non potessi avere più validazioni sulla stessa cella (cioè devi sapere per che cosa stai convalidando)

+1

Validazioni e formato possono essere usati insieme, giusto? ;-) –

+1

sì, loro possono. in bocca al lupo. – RobertG5

1

Puoi usare direttamente la funzionalità di Excel !!! non c'è bisogno di alcuna codifica per quello !!

invece di duro lavoro andare per il lavoro intelligente ...

In Excel, Vai alla cella in cui si desidera che la convalida venga

Menu - >> Dati -> convalida

Qui è possibile utilizzare direttamente i vari termini di convalida excel. quale potrà rivolgersi here o ..

http://support.microsoft.com/kb/211485

Grazie saluti.

+0

Voglio che i dati vengano convalidati tramite la codifica in base al requisito ... – Smack

+1

se puoi farlo molto facilmente e perfettamente attraverso la piattaforma esistente come EXCEL .. perché stai optando per il modo più difficile per farlo !!! La decisione è tua !!! :-) –

+0

hey, sono a conoscenza della convalida predefinita di Excel ma voglio sapere se esiste un metodo per farlo attraverso il codice? sto solo cercando di esplorare le cose .... :) – Smack