Hallo, Werner,

danke - das funktioniert. Mein Problem ist gelöst.

Ehrlich gesagt, ich hatte gehofft, es geht ohne Aufzeichnen. Das Aufzeichnen führt zu ellenlangem Code. Ein "händisches" Makro ist kürzer und in der Regel besser verständlich. Aber ich muss ja nicht in Schönheit sterben...

Noch mal danke!

Guido



Am 11.03.24 um 20:24 schrieb Werner Tietz:
Hallo

Dann eben ⇒Makro aufzeichnen:

#######################

sub record_search_replace_selection()

dim document   as object
dim dispatcher as object
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:EndOfDocumentSel", "", 0, Array()
dim args2(21) as new com.sun.star.beans.PropertyValue
args2(0).Name = "SearchItem.StyleFamily"
args2(0).Value = 2
args2(1).Name = "SearchItem.CellType"
args2(1).Value = 0
args2(2).Name = "SearchItem.RowDirection"
args2(2).Value = true
args2(3).Name = "SearchItem.AllTables"
args2(3).Value = false
args2(4).Name = "SearchItem.SearchFiltered"
args2(4).Value = false
args2(5).Name = "SearchItem.Backward"
args2(5).Value = false
args2(6).Name = "SearchItem.Pattern"
args2(6).Value = false
args2(7).Name = "SearchItem.Content"
args2(7).Value = false
args2(8).Name = "SearchItem.AsianOptions"
args2(8).Value = false
args2(9).Name = "SearchItem.AlgorithmType"
args2(9).Value = 1
args2(10).Name = "SearchItem.SearchFlags"
args2(10).Value = 71680
args2(11).Name = "SearchItem.SearchString"
args2(11).Value = "xxx"
args2(12).Name = "SearchItem.ReplaceString"
args2(12).Value = "yyy"
args2(13).Name = "SearchItem.Locale"
args2(13).Value = 255
args2(14).Name = "SearchItem.ChangedChars"
args2(14).Value = 2
args2(15).Name = "SearchItem.DeletedChars"
args2(15).Value = 2
args2(16).Name = "SearchItem.InsertedChars"
args2(16).Value = 2
args2(17).Name = "SearchItem.TransliterateFlags"
args2(17).Value = 1280
args2(18).Name = "SearchItem.Command"
args2(18).Value = 3
args2(19).Name = "SearchItem.SearchFormatted"
args2(19).Value = false
args2(20).Name = "SearchItem.AlgorithmType2"
args2(20).Value = 2
args2(21).Name = "Quiet"
args2(21).Value = true
dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args2())
end sub

########################

Am 11.03.24 um 15:08 schrieb Guido Dischinger:
Sub ersetzenTest

Dim oViewCursor as Object
Dim oErsetzen

oDoc = ThisComponent
oViewCursor = oDoc.CurrentController.ViewCursor
oViewCursor.gotoEnd( True ) 'selektieren bis Dokument_Ende

repl = oDoc.createReplaceDescriptor()
With repl
   .SearchString = "XXX"
   .ReplaceString = "YYY"
   .searchAll = False
End With
'warum nochmals »thisComponent« ???
ThisComponent.ReplaceAll(repl)

end sub


--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy

Antwort per Email an