Thanks! I found it in help now that you mentioned it and I remember that I actually seen it before. Thanks!
Maybe I could suggest the functions CTimeToISO and CTimeFromISO to be included in OpenOffice.org BASIC in a future version, what do you think? Thanks again! Johnny 2007/1/26, Bernard Marcelly <[EMAIL PROTECTED]>:
Message de Johnny Andersson date 2007-01-26 09:30 : > Forget about what I said about the type of Time and Date from those fields > in the dialog I was talking about. I checked again and they are Long, not > Double. Sorry for missleading... =) > > But I still wonder about the rest of what I wrote... > > Johnny > > 2007/1/26, Johnny Andersson <[EMAIL PROTECTED]>: >> >> Hi! >> >> Once again in some kind of troubles when trying to communicate with a >> spreadsheet using a macro. >> I created a dialog with a time field in it. The problem is that the time >> format is just a number, for example if it's 18:45, the time field will >> output 18450000 (...). The same thing >> goes >> for the date field. 2007-01-26 (today) is output as 20070126 from the >> date >> field. >> >> (...) I created these two functions for >> converting Control field time and date to the numberformat that can be >> formatted to readable date and time: >> >> >> '*************************************************************************** >> >> Function DateCtlFieldToDate(Dt As Long) As Date >> Dim Y As Long, M As Long, D As Long >> >> Y=Int(Dt/10000) >> M=Int(Dt/100)-Y*100 >> D=Dt-Y*10000-M*100 >> DateCtlFieldToDate=DateSerial(Y,M,D) >> End Function >> >> >> '*************************************************************************** >> >> Function TimeCtlFieldToTime(Tm As Long) As Date >> Dim H As Long, M As Long, S As Long >> >> H=Int(Tm/1000000) >> M=Int(Tm/10000)-H*100 >> S=Int(Tm/100)-H*10000-M*100 >> TimeCtlFieldToTime=TimeSerial(H,M,S) >> End Function >> >> '*************************************************************************** >> >> >> >> Now to my question: >> Do I really need these two functions? Isn't there an easier way? I >> couldn't find a built in function for doing this, so that's why I >> tried to >> create my own maybe not so fast ones. AFAIK there is no existing conversion function for time. For date, you get from the TimeField control a value which is an ISO date format. Here Basic provides a function: Dim Tm As Long, Tm2 As Date Tm2 = CDateFromISO(Tm) Bernard --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]