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?
Aktuelles Datum im Formularfeld?
Moderator: Moderatoren
Also ich habe das mal über ein Makro erschlagen:
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
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
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
Wer lesen kann ist klar im Vorteil.