ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   What Range property distinguishes a double from a datetime? (https://www.excelbanter.com/excel-programming/359873-what-range-property-distinguishes-double-datetime.html)

LJ[_3_]

What Range property distinguishes a double from a datetime?
 
I am using vs2005 and c#.

I am passing a range object into C# and trying to determine what type
of value it is. In case it's a datetime I want to convert it using
DateTime.FromOADate. I can't find the right property to help me
distinguish a datetime from a double. Excel seems to know. I see the
Range.NumberFormat looks different but using this seems like a real
kludge.


AA2e72E

What Range property distinguishes a double from a datetime?
 
I could be wrong but I don't think Excel understands DATETIME although a cell
format can show it. The closest is

typename(Range("c1").value)

would return Date if c1 contains a timestamp or a date.

"LJ" wrote:

I am using vs2005 and c#.

I am passing a range object into C# and trying to determine what type
of value it is. In case it's a datetime I want to convert it using
DateTime.FromOADate. I can't find the right property to help me
distinguish a datetime from a double. Excel seems to know. I see the
Range.NumberFormat looks different but using this seems like a real
kludge.



LJ[_3_]

What Range property distinguishes a double from a datetime?
 
In .NET there does not seem to be a Value property. I use Value2.
Text also displays the text value. I have tried the get_Value method
but it takes a RangeValueDataType argument which is really what I am
looking for.

Excel seems to know when you enter a date that it should be transformed
into a double for storage but displayed as a date (it automatically
stores "m/d/yyyy" as the format for example). I am wondering if it
stores this information anywhere such as a datatype field or if it just
does the translation and set the format.

It seems like storing the RangeValueDataType object as a property of
the range would have been a nice thing.



All times are GMT +1. The time now is 08:14 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com