You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openoffice.apache.org by Andrew Douglas Pitonyak <an...@pitonyak.org> on 2012/07/16 00:09:18 UTC

Unexpected behavior while writing Calc Functions

I wrote a simple function

Function mydate As Date
   mydate = CDate(100)
End Function

I then called this function from a Calc document

=myDate()

Finally, I directly accessed the cells with the dates from a macro 
similar to the following code:

Print ThisComponent.Sheets(0).getCellByPosition(0, 1).Value

The cell displayed the value as I expected, but the returned value was 
zero.

Turns out that dates are converted to strings when returned to Calc. 
Oops. The proper thing to do (if you want it to work as expected) is to 
return a numeric value.

Side note, this behavior is the same in the Apache and the Libre version 
of OO, so this has probably been there a long time.


-- 
Andrew Pitonyak
My Macro Document: http://www.pitonyak.org/AndrewMacro.odt
Info: http://www.pitonyak.org/oo.php