🙏 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!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Aktuelles Datum per Schaltfläche einfügen. [gelöst]

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
suwo
Beiträge: 94
Registriert: Sa 12. Mär 2011, 10:40

Aktuelles Datum per Schaltfläche einfügen. [gelöst]

Beitrag von suwo » Do 23. Aug 2018, 09:57

Hallo zusammen.
Ich versuche mich gerade an Schaltflächen. Per Kontrollfeld möchte ich das aktuelle Datum in Zelle A1 schreiben. Ich zeichne ein Makro auf: Wähle Zelle A1 und drücke die Taste F3, um das aktuelle Datum einzutragen. Wenn ich das Makro ausführe wird zwar die Zelle A1 ausgewählt, aber das Datum nicht eingetragen. Woran liegt das? Hier der Makro Code

Code: Alles auswählen

REM  *****  BASIC  *****


sub Main
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$A$1"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem ----------------------------------------------------------------------
rem dispatcher.executeDispatch(document, ".uno:InsertCurrentDate", "", 0, Array())


end sub
Danke für die Hilfe,
Suwo
Zuletzt geändert von suwo am Sa 25. Aug 2018, 12:19, insgesamt 1-mal geändert.

HeritzP
* LO-Experte *
Beiträge: 966
Registriert: Mo 9. Dez 2013, 19:08

Re: Aktuelles Datum per Schaltfläche einfügen.

Beitrag von HeritzP » Do 23. Aug 2018, 10:25

Hallo,

ein link mit Makro für ein Datumsfeld.
http://www.oooforum.de/viewtopic.php?t=61417#p229803

Für dein Makro das letzte REM vor dispatcher.execute löschen.
Ist jetzt nur eine Vermutung.


Gruß HeritzP
HeritzP

alles nur geklaut

mikele
* LO-Experte *
Beiträge: 1930
Registriert: Mo 1. Aug 2011, 20:51

Re: Aktuelles Datum per Schaltfläche einfügen.

Beitrag von mikele » Do 23. Aug 2018, 17:47

Hallo,
um es etwas flexibler zu gestalten kannst du in den Eigenschaften der Schaltfläche bei "Zusatzinformation" die gewünschte Zelle eintragen (z. B. A1).
dann reicht folgender Einzeiler:

Code: Alles auswählen

Sub datum_eintragen (oevent)
	ThisComponent.CurrentController.ActiveSheet.getCellRangeByName(oevent.source.model.tag).Value=date()
End Sub
Gruß,
mikele

Helmut_S
* LO-Experte *
Beiträge: 756
Registriert: Di 9. Feb 2016, 19:27

Re: Aktuelles Datum per Schaltfläche einfügen.

Beitrag von Helmut_S » Do 23. Aug 2018, 21:13

und wenn du die vorletzte Zeile mit "rem dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())"
auskommentierst, dann wird die Sache noch flexibler, denn dann schreibt dir das Makro da aktuelle Datum in die
aktuelle Zelle und nicht nur in A1 oder sonstwo.

Code: Alles auswählen


sub Main
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "A1"

rem dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:InsertCurrentDate", "", 0, Array())
end sub
Calc_Formular.ods
(10.67 KiB) 253-mal heruntergeladen
Gruß, Helmut
MX-Linux KDE + Linux-Mint Cinnamon

suwo
Beiträge: 94
Registriert: Sa 12. Mär 2011, 10:40

Re: Aktuelles Datum per Schaltfläche einfügen.

Beitrag von suwo » Sa 25. Aug 2018, 12:19

Hallo.
Danke an Euch drei. Alle drei Lösungen funzen. Warum die letzte Zeile Zeile als Kommentar (rem) aufgezeichnet wird, ist mir allerdings ein Rätsel. @Helmut_S. Deine Lösung klappt natürlich auch. Ich brauche es aber so, dass ich die Zelle festlegen will, wo das Datum rein geschrieben wird.
Schönes WE,
Suwo


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.



Antworten