Ik heb inderdaad het probleem kunnen omzeilen door het toepassen van "findandreplace"
Een nieuw probleem echter is dat (in de oefening hieronder) de karakters A, B en C [args1(10) .Value] niet voor
iedere lijn dezelfde zijn. De totale lengte van de te vervangen string is wel altijd dezelfde (32 karakters)
m.a.w. Is het mogelijk bij het begin van iedere gevonden lijn het overeenkomende
aantal (32) karakters i.p.v. de gevonden string te verwijderen.
In het voorbeeld betreft het de calc cellen ("I8:I14")
Code: Selecteer alles
sub findReplaceDraft
dim oSheet13 as object
oSheet13 = ThisComponent.Sheets.GetByName("Sheet13")
ThisComponent.CurrentController.select oSheet13.getCellRangeByName("I8:I14")
dim odocument as object, odispatcher as object
dim args1(17) as new com.sun.star.beans.PropertyValue
odocument = ThisComponent.CurrentController.Frame
odispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
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(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 = "AAA BBBBB 6703 0411 2358 0368 C "
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 = 3
odispatcher.executeDispatch(odocument, ".uno:ExecuteSearch", "", 0, args1())
End Sub