Seite 1 von 1

Seitenumbruch mit Makro erzeugen

Verfasst: Di, 24.11.2009 09:08
von bernhard1011
Hallo, besteht die Möglichkeit über ein Makro (oder eine andere Lösung) in einem Text nach einer bestimmten Zeichenkette (ich habe z.B. ###### einfügen lassen) zu suchen, und danach einen Seitenumbruch zu erzwingen?

Vielen Dank im voraus

Re: Seitenumbruch mit Makro erzeugen

Verfasst: Di, 24.11.2009 12:58
von ebbo
Yup ...:
* Makro aufzeichnen starten
* Suchen und Ersetzen
* bei Suche nach ##### eingeben
* Suche alle anklicken
* schließen anklicken
* einfügen Manueller Umbruch aufrufen
* darauf achten, dass Seitenumbruch ausgewählt
* OK
* Makro aufzeichnen beenden
* Makronamen vergeben

... und bei nächster Gelegenheit verwenden :)

Re: Seitenumbruch mit Makro erzeugen

Verfasst: Di, 24.11.2009 17:52
von bernhard1011
Danke für die rasche Antwort, leider haut das nicht so ganz hin. Wenn ich normal "Suchen" und danach Einfügen --> Seitenumbruch, und das Makro immer wieder aufrufe, funktionierts. Wenn ich aber "Suchen alle" auswähle habe ich zwar nach meinem definierten Zeichen einen Absatz, aber der Seitenumbruch verschiebt sich und ich habe wieder nicht immer dort einen Umbruch wo vorher die Zeichenkette war.

Vielleicht hat noch jemand eine Idee

Re: Seitenumbruch mit Makro erzeugen

Verfasst: Di, 24.11.2009 18:07
von ebbo
Verzeihung ... habe da in der Begeisterung tatsächlich übersehen, dass nur 1 x Umbruch ...

Re: Seitenumbruch mit Makro erzeugen

Verfasst: Di, 24.11.2009 23:40
von ebbo
Ok, hat mich nicht losgelassen - ich habe mehr durch try und error herausgefunden ...
folgendes Makro klappt bei mir ... cursor nur vor erstes vorkommen von ##### stellen .... gähn good night :shock:

Sub Main

Dim oDocument As Object
Dim document As Object
Dim oSearch As Object, oResult As Object
Dim n As Long
dim dispatcher as object

oDocument = ThisComponent

oSearch = oDocument.createSearchDescriptor
oSearch.SearchString = "#####"
oSearch.SearchRegularExpression = TRUE
oResult = oDocument.findAll(oSearch)

document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
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 = "#####"
args1(11).Name = "SearchItem.ReplaceString"
args1(11).Value = ""
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 = 0
args1(18).Name = "Quiet"
args1(18).Value = true



rem ----------------------------------------------------------------------
dim args2(2) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Kind"
args2(0).Value = 3
args2(1).Name = "TemplateName"
args2(1).Value = ""
args2(2).Name = "PageNumber"
args2(2).Value = 0


For n = 0 To oResult.count - 1
dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args1())
dispatcher.executeDispatch(document, ".uno:InsertBreak", "", 0, args2())
Next n

End Sub