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

❤️ 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. 🤗

Ausführung eines Makros während der Gültigkeitsprüfung

Alles zur Programmierung im LibreOffice.
Antworten
MädchenFürAlles
Beiträge: 2
Registriert: Do 24. Apr 2014, 17:15

Ausführung eines Makros während der Gültigkeitsprüfung

Beitrag von MädchenFürAlles » Do 24. Apr 2014, 17:28

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!

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Ausführung eines Makros während der Gültigkeitsprüfung

Beitrag von F3K Total » Fr 25. Apr 2014, 21:31

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.

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
HTH R
Windows 11: AOO, LO Linux Mint: AOO, LO

MädchenFürAlles
Beiträge: 2
Registriert: Do 24. Apr 2014, 17:15

Re: Ausführung eines Makros während der Gültigkeitsprüfung

Beitrag von MädchenFürAlles » Do 25. Sep 2014, 11:51

Vielen Dank für deine Hilfe! Es ist genau das, was ich gesucht habe!!!

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Ausführung eines Makros während der Gültigkeitsprüfung

Beitrag von F3K Total » Do 25. Sep 2014, 17:39

Unglaublich!
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.



Antworten