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
Seitenumbruch mit Makro erzeugen
Moderator: Moderatoren
-
- Beiträge: 7
- Registriert: Di, 24.11.2009 08:52
Re: Seitenumbruch mit Makro erzeugen
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
* 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

-
- Beiträge: 7
- Registriert: Di, 24.11.2009 08:52
Re: Seitenumbruch mit Makro erzeugen
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
Vielleicht hat noch jemand eine Idee
Re: Seitenumbruch mit Makro erzeugen
Verzeihung ... habe da in der Begeisterung tatsächlich übersehen, dass nur 1 x Umbruch ...
Re: Seitenumbruch mit Makro erzeugen
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
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
folgendes Makro klappt bei mir ... cursor nur vor erstes vorkommen von ##### stellen .... gähn good night

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