Seite 1 von 1

"Time" als DATE schreiben

Verfasst: Fr, 14.01.2011 23:36
von clag
Hallo Kenner und Könner,

in einem Makro möchte ich die Systemzeit mit dem "TIME" in eine Zelle schreiben

allerdings gelingt mir das nur als string mit

Code: Alles auswählen

myCell.string = TIME


mit diesem Code bekomme ich eine Fehlermeldung

Code: Alles auswählen

myCell.date = TIME 


wie erreiche ich, dass eine echte Zeit in die Zelle geschrieben wird ?

Re: "Time" als DATE schreiben

Verfasst: Sa, 15.01.2011 08:41
von Axel Richter
Hallo clag,
clag hat geschrieben:in einem Makro möchte ich die Systemzeit mit dem "TIME" in eine Zelle schreiben
allerdings gelingt mir das nur als string
Ja, denn TIME liefert ja auch einen String zurück.
Es gibt allerdings TIMEVALUE(), welche aus einem String einen Zeitwert berechnet. Diesen Wert muss man .Value der Zelle zuweisen

Code: Alles auswählen

myCell.Value = TIMEVALUE(TIME)
Nun muss die Zelle natürlich noch im Zeitformat formatiert werden.

Code: Alles auswählen

Dim locale As New com.sun.star.lang.Locale
nFormat = thisComponent.NumberFormats.queryKey("HH:MM:SS", locale, false)
if nFormat < 0 then 
 nFormat = thisComponent.NumberFormats.addNew("HH:MM:SS", locale)
endif

myCell.NumberFormat = nFormat
viele Grüße

Axel

Re: "Time" als DATE schreiben

Verfasst: Sa, 15.01.2011 09:54
von clag
Hallo Axel,

allerbesten Dank für deine detaillierte Erklärung, so wird das Verhalten auch mir verständlich,
dann werde ich das gerade dazugelernte gleich mal austesten :D

Re: "Time" als DATE schreiben

Verfasst: Sa, 15.01.2011 10:23
von Karolus
Hallo

Code: Alles auswählen

...
mycell.formulalocal = format( now , "hh:mm:ss" )
...
Karo

Re: "Time" als DATE schreiben

Verfasst: Sa, 15.01.2011 14:29
von clag
Hallo Karolus,

auch dir allerbesten Dank
wie es nicht anders zu erwarten war, ist dein Vorschlag natürlich wieder kürzer :lol: