Dezimalzahl in Zeitformat konvertieren
Posted: 01 Jan 2017, 05:23
Hallo zusammen,
zunächst allen ein frohes neues Jahr!
Ich möchte gerne eine Dezimalzahl in einen Zeitstring umwandeln. Die Dezimalzahl erhalte ich durch das Auslesen einer Excel-Zelle, die Zeitformate offensichtlich nur als Dezimalzahlen übergibt (z.B. 0.524306 für 12:35). Ich möchte die dazugehörige Uhrzeit nun in einem anderen Programm weiterverwenden, das aber das Zeitformat ("HH:MM") verlangt. Ich habe das zunächst durch eine Funktion gelöst:
Ich überlege aber, ob es nicht eine einfachere, vielleicht eine AHK-interne Funktion gibt, die die Konvertierung übernimmt, habe dazu in der Hilfe aber nichts gefunden. Hat jemand einen anderen Ansatz?
Danke im Voraus
Lucky Joe
zunächst allen ein frohes neues Jahr!
Ich möchte gerne eine Dezimalzahl in einen Zeitstring umwandeln. Die Dezimalzahl erhalte ich durch das Auslesen einer Excel-Zelle, die Zeitformate offensichtlich nur als Dezimalzahlen übergibt (z.B. 0.524306 für 12:35). Ich möchte die dazugehörige Uhrzeit nun in einem anderen Programm weiterverwenden, das aber das Zeitformat ("HH:MM") verlangt. Ich habe das zunächst durch eine Funktion gelöst:
Code: Select all
Excel := ComObjActive("Excel.Application")
WorkBook := Excel.ActiveWorkbook
Sheet := Excel.ActiveSheet
Cell := Excel.ActiveCell
Zellwert := Cell.Value
Zellwert := DezToTime(Zellwert)
Msgbox,,, % Zellwert, 5
DezToTime(DezZahl)
{
Uhrzeit := DezZahl * 24
Transform, HH, Floor, Uhrzeit
MM := (Uhrzeit - HH) * 60
Transform, MM, Floor, MM
Return SubStr("00" . HH, -1) ":" SubStr("00" . MM, -1)
}
Danke im Voraus
Lucky Joe