Seite 1 von 1

[Gelöst] Feld (als Zeitwert formatiert) in Writer per Makro in Timecontrol eines Dialoges übernehmen

Verfasst: Mi, 12.04.2017 16:52
von krueuw
Hallo,
ich möchte den Wert einer Variablen die als Feldfunktion in Writer angelegt und als Zeitwert formatiert wurde per Makro in ein Timecontrol eines Dialoges übernehmen. Dank eines Tipps gelingt mir dies bei einem Datumswert so:

Code: Alles auswählen

oDlg.getControl("gdat").date = CDateToUnoDate(CDate(Clng(getVariable(oDoc, "feld7"))))
Analoges geht so für Zeiten nicht:

Code: Alles auswählen

oDlg.getControl("anhtime").time = CDateToUnotime(CDate(Clng(getVariable(oDoc, "feld20")))
weil Clng den echten Bruch des Feldinhaltes auf Null rundet und ich separate Funktionen für Zeitwerte bisher nicht gefunden habe.
Wie würdet ihr das machen? Uwe

Re: Feld (als Zeitwert formatiert) in Writer per Makro in Timecontrol eines Dialoges übernehmen

Verfasst: Mi, 12.04.2017 17:26
von Toxitom
Hey Krueuw,

hmm, was liefert denn dier Ausdruck "getVariable(oDoc, "feld20")" als Wert zurück? ist das ein String oder ein interner Datumswert der Form "0,12345"?

Im 2. Fall solltest Du das direkt nutzen können, falls der Wert als String geliefert wird, dann zuerst in eine Zahl verwandeln - mit cDbl!.

Immer zwischendrin prüfen, ob das gewünschte ERgebnis vorhanden ist!

dann einfach mit:

Code: Alles auswählen

Dlg.getControl("anhtime").time = CDateToUnotime(cdbl(getVariable(oDoc, "feld20"))
zuweisen.

VG Tom

[Gelöst] Feld (als Zeitwert formatiert) in Writer per Makro in Timecontrol eines Dialoges übernehmen

Verfasst: Mi, 12.04.2017 19:20
von krueuw
Klappt genauso! Danke.