Seite 1 von 2

Datum per Makro in ein bestimmtes Feld einsetzen

Verfasst: So 29. Apr 2012, 15:13
von mike
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

Re: Datum per Makro in ein bestimmtes Feld einsetzen

Verfasst: Fr 18. Mai 2012, 17:48
von F3K Total
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

Re: Datum per Makro in ein bestimmtes Feld einsetzen

Verfasst: So 20. Mai 2012, 16:06
von mike
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

Re: Datum per Makro in ein bestimmtes Feld einsetzen

Verfasst: So 20. Mai 2012, 17:31
von F3K Total
Hi,
bist Du auf das Textfeld, rechte Maustaste, Name ... und hast dort "Datum" eingetragen?

Gruß R

Re: Datum per Makro in ein bestimmtes Feld einsetzen

Verfasst: So 20. Mai 2012, 19:48
von mike
ja, genau das hab ich gemacht: Rahmen/Name/"Datum". Ist der Rahmen kein Textfeld? mike

Re: Datum per Makro in ein bestimmtes Feld einsetzen

Verfasst: So 20. Mai 2012, 20:43
von F3K Total
Nein, der Rahmen ist ein Rahmen, das Textfeld
t.png
t.png (737 Bytes) 10056 mal betrachtet
ist ein Textfeld!
Bin ich hier nur von Idioten umgeben? ;-)
Gruß R

Re: Datum per Makro in ein bestimmtes Feld einsetzen

Verfasst: So 20. Mai 2012, 22:47
von mike
danke für die nette anrwort! ich beschäftige mich normalerweise mit anderen dingen, sonst würde ich hier nicht fragen.

Re: Datum per Makro in ein bestimmtes Feld einsetzen

Verfasst: So 20. Mai 2012, 23:23
von F3K Total
... 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

Re: Datum per Makro in ein bestimmtes Feld einsetzen

Verfasst: Mo 21. Mai 2012, 14:14
von mike
hi,

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

mike

Re: Datum per Makro in ein bestimmtes Feld einsetzen

Verfasst: Mo 21. Mai 2012, 17:24
von F3K Total
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