[gelöst] Zeit aus Formular auslesen und in Tabelle schreiben

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

drbrode
*
Beiträge: 15
Registriert: Di, 29.11.2016 14:10

[gelöst] Zeit aus Formular auslesen und in Tabelle schreiben

Beitrag von drbrode » Mi, 06.12.2017 15:14

Hallo.

ich probiere mich gerade an einer Sache bei der ich nicht weiterkomme.

Ich möchte in calc aus einem Zeit-Formularfeld bei Aktualisierung den Wert auslesen und in eine Tabellenzelle schreiben lassen. Eine einfache Zellverknüpfung geht ja nicht, genau wie bei einem Datumsfeld.

Im Moment verwende ich folgendes Makro (mit dem Zeit-Formularfeld verknüpft):

Code: Alles auswählen

Sub Setze_Zeit()

With ThisComponent.CurrentController.getActiveSheet
	dpf = .Drawpage.Forms
	dfnt = dpf.getByName("Formular").GetByName("Zeit_Ereignis").time
	.getCellRangeByName("f17").FormulaLocal = dfnt
End With

End Sub
Es wird auch wie gewünscht ein Wert in die Tabelle (Feld F17) übertragen. Leider ist dieser jedoch in einem für mich unbekannten Format.

Für die Zeit 15:25:15 (HH:MM:SS) wird beispielsweise der einfache numerische Wert 15251500 übertragen.

Wie kriege ich es hin, dass ein reguläres Zeitformat (HH:MM:SS) ausgegeben wird?

Danke für eure Hilfe!
Zuletzt geändert von drbrode am Do, 07.12.2017 12:12, insgesamt 1-mal geändert.

Stephan
********
Beiträge: 10494
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: [HILFE] Zeit aus Formular auslesen und in Tabelle schreiben

Beitrag von Stephan » Mi, 06.12.2017 16:17

es sollte gehen:

Code: Alles auswählen

h = dfnt / 1000000 Mod 100  'Stunden
m = dfnt / 10000 Mod 100    'Minuten
s = dfnt / 100 Mod 100      'Sekunden
ss = dfnt Mod 100           'Sekundenbruchteile

.getCellRangeByName("f17").FormulaLocal = h & ":" & m & ":" & s

Gruß
Stephan

drbrode
*
Beiträge: 15
Registriert: Di, 29.11.2016 14:10

Re: [HILFE] Zeit aus Formular auslesen und in Tabelle schreiben

Beitrag von drbrode » Mi, 06.12.2017 16:41

Da warst du ein wenig schneller.

Wollte gerade schreiben, dass ich es gefunden habe! :D Genau diese Lösung

Trotzdem vielen Dank!!!!!!

Antworten