2010-12-29 9 views

Antwort

4

Ich nehme an, Sie meinen, dass Sie Inhalte in einer Zelle haben, die entweder ein Datum, ein Doppel oder eine einfache Zeichenfolge sein könnte, und dass Sie den entsprechenden .NET-Typ geltend machen möchten . Ich glaube, dazu gibt es keinen direkten Weg. Ein Ansatz wäre, den Wert2 in der Zelle abzurufen und zu versuchen, ihn auf jeden dieser Typen zu übertragen, beginnend mit dem restriktivsten, bis der Cast funktioniert - also DateTime (DateTime.FromOADate), dann Double (Convert.ToDouble). , dann string - und wenden Sie dann die Validierungsregel an, die für den bestimmten Typ gilt, den Sie gefunden haben.
Ich bin mir nicht ganz sicher, was Sie mit Validierung meinen, und was das für Sie bedeutet. Wenn Sie die Art des Inhalts kennen, was würden Sie damit machen?

+0

Angenommen, Benutzer geben falsches Datum in Zelle ein und ich möchte Benutzer darüber informieren, sobald er das Datum eingibt ... Ich habe Blattwechsel-Ereignis versucht, aber da ich kopierte Zelle am meisten offen das Shhet Change-Ereignis zu dieser Zeit ausgelöst also die Validierung, die für mich nicht durchführbar ist ... danke für deine Antwort :) – Smack

+0

Sie können vielleicht tun, was Sie wollen, aber es hängt davon ab, wie strukturiert das Blatt ist - und es dauert ziemlich viel Arbeit. Angenommen, Sie haben ein Blatt, von dem Sie wissen, dass Spalte C Daten enthalten sollte; Anschließend können Sie das Ereignis content changed für das Blatt verwenden, prüfen, ob der geänderte Bereich Zellen in Spalte C enthält, und die entsprechende Validierung durchführen. – Mathias

+0

Schöne Erklärung Mathias. Dies ist im Wesentlichen der einzige Weg, um mit der Zellenvalidierung zu beginnen, da Sie Value2 entweder in eine Zeichenfolge, ein Double, OLEDate oder Bool trennen müssen. –

1

Ich benutze die Datenvalidierungstechnik von Excel in einer VSTO-Anwendung selbst. Es ist offensichtlich nicht VSTO, aber es funktioniert gut genug. Es gibt einige Nachteile, wie Sie nicht mehrere Validierungen auf der gleichen Zelle haben können (d. H. Sie müssen wissen, was Ihre Validierung für)

+1

Validierungen und Format können zusammen verwendet werden, oder? ;-) –

+1

ja können sie. Viel Glück. – RobertG5

1

Sie können direkt die Excel-Funktionalität verwenden !!! keine Notwendigkeit einer Codierung dafür !!

statt harter Arbeit für die intelligente Arbeit gehen ...

in Excel, Gehen Sie auf die Zelle, in der Sie die Validierung wollen

Menü kommen - >> Daten -> Validierung

Hier können Sie direkt die verschiedenen Excel-Validierungsbegriffe verwenden. dem Sie verweisen here oder ..

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

Thanx Grüße.

+0

Ich möchte die Daten durch Codierung entsprechend der Anforderung validiert werden ... – Smack

+1

wenn Sie es sehr einfach und perfekt durch die bestehende Plattform wie EXCEL tun können .. warum entscheiden Sie sich für den härteren Weg, dies zu tun !!! Entscheidung gehört dir !!! :-) –

+0

hey, ich bin mir der Standard-Validierung von Excel bewusst, aber ich möchte wissen, gibt es irgendeine Methode, um es durch Code zu tun? Ich versuche nur, die Dinge zu erforschen .... :) – Smack

Verwandte Themen