von Niels » Di, 27.06.2006 16:31
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
Also ich habe das mal über ein Makro erschlagen:[code]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
[/code]
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