🙏 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. 🤗

Datum per Makro in ein bestimmtes Feld einsetzen

Alles zur Programmierung im LibreOffice.
mike
Beiträge: 6
Registriert: So 29. Apr 2012, 15:07

Datum per Makro in ein bestimmtes Feld einsetzen

Beitrag von mike » So 29. Apr 2012, 15:13

hi,

ich möchte einfach mit einer Schaltfläche das aktuelle Datum in ein bestimmtes Textfeld "Datum" einsetzen.
Ich habe ein Makro aufgezeichnet (in das Textfeld geklickt und Feldbefehl eingesetzt) ,und es einer Schaltfläche zugeordnet. Das Datum wird jetzt immer dort eingesetzt, wo grad der Cursor sitzt, aber nicht automatisch in dem Textfeld "Datum".
Wie macht man das? Danke für die Hilfe.

mike

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

Re: Datum per Makro in ein bestimmtes Feld einsetzen

Beitrag von F3K Total » Fr 18. Mai 2012, 17:48

Hallo mike,
das hängt vom Dokumenttyp ab, es ist ein Unterschied on du ein Writer/Draw/Impress/Calc ... Dokument hast.
Im Writer sollte dieses Makro funktionieren:

Code: Alles auswählen

Sub S_Insert_Date

dim bfound as boolean

bfound = false
opageenum = thiscomponent.drawpage.createEnumeration
while opageenum.hasmoreelements
  oshape = opageenum.nextelement
  if not ismissing(oshape.name) then
    if oshape.name = "Datum" then
      if oshape.supportsservice("com.sun.star.drawing.TextShape") then
        oshape.String = format (date(),"DD.MM.YYYY")
        bfound = true
      endif
    endif
  endif
wend

if not bfound then msgbox ("Ein Textfeld mit dem Namen 'Datum' wurde nicht gefunden.",48,"Fehler")

End Sub
Viel Erfolg
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

mike
Beiträge: 6
Registriert: So 29. Apr 2012, 15:07

Re: Datum per Makro in ein bestimmtes Feld einsetzen

Beitrag von mike » So 20. Mai 2012, 16:06

hi F3K Total,

danke für die Hilfe!

Ich habe eine "Grafische Schaltfläche" und ein Textfeld mit dem Namen "Datum" plaziert, als Eigenschaft bei "Taste gedrückt" das Makro ausgewählt. Nichts passiert.

Unter Makro bearbeiten/Basic-Programm ausführen kommt "Ein Textfeld mit dem Namen "Datum" wurde nicht gefunden."

Was mache ich da falsch?

mike

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

Re: Datum per Makro in ein bestimmtes Feld einsetzen

Beitrag von F3K Total » So 20. Mai 2012, 17:31

Hi,
bist Du auf das Textfeld, rechte Maustaste, Name ... und hast dort "Datum" eingetragen?

Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

mike
Beiträge: 6
Registriert: So 29. Apr 2012, 15:07

Re: Datum per Makro in ein bestimmtes Feld einsetzen

Beitrag von mike » So 20. Mai 2012, 19:48

ja, genau das hab ich gemacht: Rahmen/Name/"Datum". Ist der Rahmen kein Textfeld? mike

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

Re: Datum per Makro in ein bestimmtes Feld einsetzen

Beitrag von F3K Total » So 20. Mai 2012, 20:43

Nein, der Rahmen ist ein Rahmen, das Textfeld
t.png
t.png (737 Bytes) 10057 mal betrachtet
ist ein Textfeld!
Bin ich hier nur von Idioten umgeben? ;-)
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

mike
Beiträge: 6
Registriert: So 29. Apr 2012, 15:07

Re: Datum per Makro in ein bestimmtes Feld einsetzen

Beitrag von mike » So 20. Mai 2012, 22:47

danke für die nette anrwort! ich beschäftige mich normalerweise mit anderen dingen, sonst würde ich hier nicht fragen.

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

Re: Datum per Makro in ein bestimmtes Feld einsetzen

Beitrag von F3K Total » So 20. Mai 2012, 23:23

... das sollte ein Scherz sein, zu erkennen an dem zwinkernden Smiley ...
Gehts denn jetzt mit dem Textfeld?

Für den Rahmen sollte dieses Makro funktionieren:

Code: Alles auswählen

Sub S_Insert_Date_to_frame

    dim bfound as boolean

    bfound = false
    opageenum = thiscomponent.drawpage.createEnumeration
    while opageenum.hasmoreelements
      oshape = opageenum.nextelement
      if not ismissing(oshape.name) then
        if oshape.name = "Datum" then
          if oshape.supportsservice("com.sun.star.text.TextFrame") then
            oshape.String = format (date(),"DD.MM.YYYY")
            bfound = true
          endif
        endif
      endif
    wend

    if not bfound then msgbox ("Ein Rahmen mit dem Namen 'Datum' wurde nicht gefunden.",48,"Fehler")

    End Sub
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

mike
Beiträge: 6
Registriert: So 29. Apr 2012, 15:07

Re: Datum per Makro in ein bestimmtes Feld einsetzen

Beitrag von mike » Mo 21. Mai 2012, 14:14

hi,

ich habe brav ein Textfeld plaziert und es "Datum" genannt. Das Makro findet kein Textfeld mit dem Namen "Datum".

mike

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

Re: Datum per Makro in ein bestimmtes Feld einsetzen

Beitrag von F3K Total » Mo 21. Mai 2012, 17:24

Hi,
ich weiß nicht, was Du da machst, anbei ein Beispiel, da geht es ohne Probleme. Getestet in OOo 3.3.0 und Lo 3.5.0
Vielleicht hast du die Quotes ("") mit hineingeschrieben? Diese Quotes signalisieren, das es sich um einen Text handelt, bei der Benamsung schreibst du schlicht Datum.


Gruß R
Dateianhänge
Insert_Date.odt
(12.04 KiB) 609-mal heruntergeladen
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