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

Reply via email to