Seite 1 von 1
Aktuelles Datum im Formularfeld?
Verfasst: Di, 27.06.2006 12:31
von joerg
Moin,
ich habe in OOo 2.02 Writer eine Vorlage für ein Formular erstellt, in der neben diversen Text-Eingabenmöglichkeiten auch ein Datum und diverse Ankreuzfelder auszufüllen sind. Das Ding ist nach dem Ausfüllen stumpf auszudrucken, Weiterverarbeitung der Daten ist nicht erforderlich.
Um die Datumseingabe komfortabler zu machen, ist es Formularfeld, damit man schön den Mini-Kalender anklicken kann. Alles ganz prima und funktionabel.
Jetzt das I-Tüpfelchen: In den Formularfeldeigenschaften gibts den Eintrag "Standarddatum", das als Default-Wert vorgegeben wird - wie bekomme ich hier das jeweils aktuelle Tagesdatum hinein?
Verfasst: Di, 27.06.2006 16:31
von Niels
Also ich habe das mal über ein Makro erschlagen:
Code: Alles auswählen
sub Datum
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(18) as new com.sun.star.beans.PropertyValue
args1(0).Name = "SearchItem.StyleFamily"
args1(0).Value = 2
args1(1).Name = "SearchItem.CellType"
args1(1).Value = 0
args1(2).Name = "SearchItem.RowDirection"
args1(2).Value = true
args1(3).Name = "SearchItem.AllTables"
args1(3).Value = false
args1(4).Name = "SearchItem.Backward"
args1(4).Value = false
args1(5).Name = "SearchItem.Pattern"
args1(5).Value = false
args1(6).Name = "SearchItem.Content"
args1(6).Value = false
args1(7).Name = "SearchItem.AsianOptions"
args1(7).Value = false
args1(8).Name = "SearchItem.AlgorithmType"
args1(8).Value = 0
args1(9).Name = "SearchItem.SearchFlags"
args1(9).Value = 65536
args1(10).Name = "SearchItem.SearchString"
args1(10).Value = "TT.MM.JJJJ"
args1(11).Name = "SearchItem.ReplaceString"
args1(11).Value = date
args1(12).Name = "SearchItem.Locale"
args1(12).Value = 255
args1(13).Name = "SearchItem.ChangedChars"
args1(13).Value = 2
args1(14).Name = "SearchItem.DeletedChars"
args1(14).Value = 2
args1(15).Name = "SearchItem.InsertedChars"
args1(15).Value = 2
args1(16).Name = "SearchItem.TransliterateFlags"
args1(16).Value = 1280
args1(17).Name = "SearchItem.Command"
args1(17).Value = 3
args1(18).Name = "Quiet"
args1(18).Value = true
[b]
dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args1())[/b]
end sub
Das Dokument wird also nach dem Platzhalter TT.MM.JJJJ durchsucht und mit dem Wert von Date ersetzt. Dieses Makro steht bei mir in einer Vorlage. In dieser ist eingestellt, dass bei jeder neuen Dokumenterstellung das Makro automatisch laufen soll.
Bei Dir ist es evtl. etwas komplizierter, da der Platzhalter ja beim Speichern überschrieben wird. Hier könntes Du vor das Datum einen Platzhalter setzen und weiß formatieren. Per Makro suchst Du den, machst Pfeil linksShift+Ende (wenn das Datum am Ende einer Zeile steht) und setzt nun das Datum ein.
Aber gibt es da nicht auch Feldbefehle?
Gruß
Niels
Verfasst: Di, 04.07.2006 09:56
von joerg
Hi,
ich war etwas im Urlaub, daher erst jetzt die Antwort. Vielen Dank, aber der Aufwand scheint mir für das bisschen Komfort doch etwas umfangreich.
Ich nehme aber mit, dass es einen einfachen Befehl (so ähnlich wie [heute] oder so) einfach nicht gibt, oder?
Viele Grüße
Verfasst: Di, 04.07.2006 21:26
von Drachen
Hallo joerg,
such mal die Feldbefehle durch. da sollte es verschiede Versionen fürs Datum geben, z.B. Erstellungsdatum, Speicherdatum, aktuelles Datum oder so in der Art. Welches Du benötigst, ergibt sich dann ganz klar
MfG
Drachen