Hallo zusammen!
Ich versuche gerade folgendes Problem zu lösen:
In eine Liste (LOCalc) soll normalerweise das aktuelle Datum eingegeben werden. Über die Gültigkeit kann ich die Eingabemöglichkeit in dem Feld auf das aktuelle Datum beschränken. Es soll aber auch die Möglichkeit bestehen, das bereits eingegebene Datum zu übernehmen, falls dieses benötigt wird. Nun habe ich folgendes Makro geschrieben, das in der Gültigkeitsüberprüfung im Bereich der Fehlermeldung aufgerufen wird:
Sub Datumspruefung
dim Eingabe as date
dim Datumswert as date
odoc=thisComponent
oZelle=oDoc.getCurrentSelection()
Eingabe=oZelle.value
Datumswert= date()
If Eingabe <> Datumswert then
Nachfrage = msgbox("Möchten Sie das Datum " & Eingabe & " übernehmen? Falls nicht wird das aktuelle Datum eingetragen (" & Datumswert & ")!",4)
if Nachfrage = 7 then
oZelle2=oDoc.getCurrentSelection()
oZelle2.value = date()
end if
end if
End Sub
Das Problem ist, dass LO die Eingabe überprüft, das Makro ausführt, dann aber nicht das aktuelle Datum einträgt, sondern nach der Makroausführung den eingegebenen Wert einträgt.
Ich benutze LO 4.0 unter WinVista.
Vielen Dank schon einmal für Ihre Hilfe!
🙏 Helfen Sie 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. 🤗
Ausführung eines Makros während der Gültigkeitsprüfung
-
- Beiträge: 2
- Registriert: Do 24. Apr 2014, 17:15
Re: Ausführung eines Makros während der Gültigkeitsprüfung
Hi,
ich glaube die gewüschte Funktion erfüllt dieses Makro für Spalte A in Tabelle 1, wenn es an das Tabellenereignis "Inhalt geändert" gebunden wird, und auf du auf die Gültigkeitsprüfung verzichtest.
HTH R
ich glaube die gewüschte Funktion erfüllt dieses Makro für Spalte A in Tabelle 1, wenn es an das Tabellenereignis "Inhalt geändert" gebunden wird, und auf du auf die Gültigkeitsprüfung verzichtest.
Code: Alles auswählen
Sub Datumspruefung(event)
dim Eingabe as date
dim Datumswert as date
odoc = thisComponent
osheet = Thiscomponent.sheets.getbyname("Tabelle1")
oRange = osheet.columns.getbyname("A")
oZelle = event
if oZelle.supportsservice("com.sun.star.sheet.SheetCell") then
oZellRangeAddress = oZelle.Rangeaddress
if oRange.queryIntersection(oZellRangeAddress).Count = 1 Then
Eingabe = oZelle.value
Datumswert = date()
If Eingabe <> Datumswert then
if msgbox ("Möchten Sie das Datum " & Eingabe & " übernehmen? Falls nicht wird das aktuelle Datum eingetragen (" & Datumswert & ")!",36,"Prüfung des Datums") = 7 then
oZelle.value = date()
endif
end if
End if
end if
End Sub
Windows 11: AOO, LO Linux Mint: AOO, LO
-
- Beiträge: 2
- Registriert: Do 24. Apr 2014, 17:15
Re: Ausführung eines Makros während der Gültigkeitsprüfung
Vielen Dank für deine Hilfe! Es ist genau das, was ich gesucht habe!!!
Re: Ausführung eines Makros während der Gültigkeitsprüfung
Unglaublich!
Kaum wartet man fünf Monate, schwupps, schon ist ein Feedback da. Wirklich unglaublich!
R
Kaum wartet man fünf Monate, schwupps, schon ist ein Feedback da. Wirklich unglaublich!
R
Windows 11: AOO, LO Linux Mint: AOO, LO
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.