🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
[Gelöst] Im Makro Stunden berechnen und ausgeben
Re: [Gelöst] Im Makro Stunden berechnen und ausgeben
Hallo,
ich will dir den Spaß auf keine Fall verderben ...
Anbei mal eine Variante, um fehlende oder falsche Eingaben abzufangen.
Die Schaltfläche ist zunächst erstmal deaktiviert. Bei jeder Eingabe (jedes Control) wir die Sub dauer aufgerufen, die nun zusätzlich alle Felder durchmustert, ob sie leer sind bzw. die Dauer Null oder negativ ist.
ich will dir den Spaß auf keine Fall verderben ...
Anbei mal eine Variante, um fehlende oder falsche Eingaben abzufangen.
Die Schaltfläche ist zunächst erstmal deaktiviert. Bei jeder Eingabe (jedes Control) wir die Sub dauer aufgerufen, die nun zusätzlich alle Felder durchmustert, ob sie leer sind bzw. die Dauer Null oder negativ ist.
- Dateianhänge
-
- Fahrtenbuch2.ods
- (28.99 KiB) 207-mal heruntergeladen
Gruß,
mikele
mikele
Re: [Gelöst] Im Makro Stunden berechnen und ausgeben
Danke, Mikele
du bist einfach klasse,
ich habs so umgeändert
for i=1 to 6
fehler=fehler+(odialog.getcontrol("ListBox1","Listbox2","Listbox3","Listbox5","Listbox6").selectedItem="")
next
Falls man die Bemerkung nicht braucht.
Kannst du mir eine Buch oder eine Seite für begriffsstutzige Makro Basic Programiereranfänger empfehlen.?
du bist einfach klasse,
ich habs so umgeändert
for i=1 to 6
fehler=fehler+(odialog.getcontrol("ListBox1","Listbox2","Listbox3","Listbox5","Listbox6").selectedItem="")
next
Falls man die Bemerkung nicht braucht.
Kannst du mir eine Buch oder eine Seite für begriffsstutzige Makro Basic Programiereranfänger empfehlen.?
Gruß Roland
Windows 11, Libre 24,2,7,2
Windows 11, Libre 24,2,7,2
Re: [Gelöst] Im Makro Stunden berechnen und ausgeben
Hallo,
der Teil
funktioniert nicht so, wie du es wünschst.
Ich hätte vermutet, dass es einen Fehlermeldung produziert, denn mit der Methode .getControl kann man nur auf ein einzelnes Kontrollelement zugreifen. Offesichtlich wir aber alles hinter "ListBox1" gepflegt ignoriert, es wird also nur geprüft, ob in ListBox1 etwas gewählt wurde. Die Schleife ist in dem Syntax komplett überflüssig.
Wenn du nur einzelne Listboxen prüfen willst, dann eher so:
Ich war nur zu faul, diese Zeilen einzeln zu schreiben daher die Schleife (man könnte in ihr auch den Index 4 überspringen).
Oder man schreibt die gewünschten Indizes in ein Array und macht ein Schleife darüber:
Angefangen habe ich mit den Codeschnipseln bei Michael Dannenhöfer https://www.dannenhoefer.de/faqstarbasic/index.html
Das Buch schlechthin zur Makroprogrammierung ist für mich "OpenOffice.org Macros explained" von Andrew Pitonyak in der deutschen Übersetung von Volker Lenhardt, gepflegt mittlerweile von Andreas Heier
https://makromador.wordpress.com/oome-o ... explained/
Diese und weiter Infos findest du hier https://de.openoffice.info/viewtopic.php?t=1553
der Teil
Code: Alles auswählen
(odialog.getcontrol("ListBox1","Listbox2","Listbox3","Listbox5","Listbox6").selectedItem
Ich hätte vermutet, dass es einen Fehlermeldung produziert, denn mit der Methode .getControl kann man nur auf ein einzelnes Kontrollelement zugreifen. Offesichtlich wir aber alles hinter "ListBox1" gepflegt ignoriert, es wird also nur geprüft, ob in ListBox1 etwas gewählt wurde. Die Schleife ist in dem Syntax komplett überflüssig.
Wenn du nur einzelne Listboxen prüfen willst, dann eher so:
Code: Alles auswählen
fehler=fehler+(odialog.getcontrol("ListBox1").selectedItem="")
fehler=fehler+(odialog.getcontrol("ListBox2").selectedItem="")
fehler=fehler+(odialog.getcontrol("ListBox3").selectedItem="")
fehler=fehler+(odialog.getcontrol("ListBox5").selectedItem="")
fehler=fehler+(odialog.getcontrol("ListBox6").selectedItem="")
Oder man schreibt die gewünschten Indizes in ein Array und macht ein Schleife darüber:
Code: Alles auswählen
box=Array(1,2,3,5,6)
for i=0 to uBound(box)
fehler=fehler+(odialog.getcontrol("ListBox" & box(i)).selectedItem="")
next
Das Buch schlechthin zur Makroprogrammierung ist für mich "OpenOffice.org Macros explained" von Andrew Pitonyak in der deutschen Übersetung von Volker Lenhardt, gepflegt mittlerweile von Andreas Heier
https://makromador.wordpress.com/oome-o ... explained/
Diese und weiter Infos findest du hier https://de.openoffice.info/viewtopic.php?t=1553
Gruß,
mikele
mikele
Re: [Gelöst] Im Makro Stunden berechnen und ausgeben
Hallo Mikele
Mit dem einzeln prüfen ist hast du mir wieder ein super codeschnipsel geschenkt.
Du zu Faul... niemals, nur schlau.
Das überspringen ist cool.
box=Array(1,2,3,5,6)
for i=0 to uBound(box)
fehler=fehler+(odialog.getcontrol("ListBox" & box(i)).selectedItem="")
next
Danke für die Webhilfe, da schau ich auf jedefall rein, ich hab ganz früher mim C64 einiges gemacht, aber das ist fast bisschen gleich nur aber fast
Mit dem einzeln prüfen ist hast du mir wieder ein super codeschnipsel geschenkt.
Du zu Faul... niemals, nur schlau.
Das überspringen ist cool.
box=Array(1,2,3,5,6)
for i=0 to uBound(box)
fehler=fehler+(odialog.getcontrol("ListBox" & box(i)).selectedItem="")
next
Danke für die Webhilfe, da schau ich auf jedefall rein, ich hab ganz früher mim C64 einiges gemacht, aber das ist fast bisschen gleich nur aber fast

Zuletzt geändert von Roland1 am Sa 14. Sep 2024, 08:19, insgesamt 1-mal geändert.
Gruß Roland
Windows 11, Libre 24,2,7,2
Windows 11, Libre 24,2,7,2
Re: [Gelöst] Im Makro Stunden berechnen und ausgeben
Mir kommt die Tabelle irgendwie bekannt vor....
Re: [Gelöst] Im Makro Stunden berechnen und ausgeben
ja,
die habe ich mit deiner Hilfe aus dem Forum umgebastelt und ergänzt.
Quelle : viewtopic.php?f=6&t=40052
die habe ich mit deiner Hilfe aus dem Forum umgebastelt und ergänzt.
Quelle : viewtopic.php?f=6&t=40052
Gruß Roland
Windows 11, Libre 24,2,7,2
Windows 11, Libre 24,2,7,2
Re: [Gelöst] Im Makro Stunden berechnen und ausgeben
Hallo minbari,
ich benutze die Datei nicht, ich basteln nur dran rum.
Ich möchte dein geistiges Eigentum nicht vervielfältigen.
Aber ein Forum lebt vom geben und nehmen
Ich danke dir für so einen interessanten Ansatz, es tut mir leid wenn dir daran gelegen ist es nur für dich zu behalten. Das war nicht meine Absicht
ich benutze die Datei nicht, ich basteln nur dran rum.
Ich möchte dein geistiges Eigentum nicht vervielfältigen.
Aber ein Forum lebt vom geben und nehmen
Ich danke dir für so einen interessanten Ansatz, es tut mir leid wenn dir daran gelegen ist es nur für dich zu behalten. Das war nicht meine Absicht
Gruß Roland
Windows 11, Libre 24,2,7,2
Windows 11, Libre 24,2,7,2
Re: [Gelöst] Im Makro Stunden berechnen und ausgeben
Alles gut. Mach was draus...
Re: [Gelöst] Im Makro Stunden berechnen und ausgeben
Danke minbar,
ich kann nur verändern, das Programieren verstehe ich irgendwie nicht.
Ich versuche noch ein freien Text einzubauen, schaff das leider nicht.
ich kann nur verändern, das Programieren verstehe ich irgendwie nicht.
Ich versuche noch ein freien Text einzubauen, schaff das leider nicht.
- Dateianhänge
-
- StundenTest.ods
- (31.63 KiB) 150-mal heruntergeladen
Gruß Roland
Windows 11, Libre 24,2,7,2
Windows 11, Libre 24,2,7,2
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.