Hallo Dave,
eine schöne Lösung habe ich nicht gefunden, aber ein Work-around. Die einzige Möglichkeit, vom markierten Objekt in den Text zu gelangen, die ich gefunden habe, ist über den Suchen/Ersetzen-Dialog:
- Objekt ausschneiden
- Object einfügen (sonst ist der Dialog seltsamerweise deaktiviert)
- eine Zeichenfolge vor dem Objekt suchen (z.B. reg exp. „.*“, rückwärts suchen)
- Dialog schließen
- mit END ans Zeilenende springen
Man kann ein Makro anlegen:
sub EndFormula
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 ----------------------------------------------------------------------
dispatcher.executeDispatch(document, „.uno:Cut“, „“, 0, Array())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, „.uno:stuck_out_tongue:aste“, „“, 0, Array())
rem ----------------------------------------------------------------------
dim args2(18) 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.Backward“
args2(4).Value = true
args2(5).Name = „SearchItem.Pattern“
args2(5).Value = false
args2(6).Name = „SearchItem.Content“
args2(6).Value = false
args2(7).Name = „SearchItem.AsianOptions“
args2(7).Value = false
args2(8).Name = „SearchItem.AlgorithmType“
args2(8).Value = 1
args2(9).Name = „SearchItem.SearchFlags“
args2(9).Value = 65536
args2(10).Name = „SearchItem.SearchString“
args2(10).Value = „.*“
args2(11).Name = „SearchItem.ReplaceString“
args2(11).Value = „“
args2(12).Name = „SearchItem.Locale“
args2(12).Value = 255
args2(13).Name = „SearchItem.ChangedChars“
args2(13).Value = 2
args2(14).Name = „SearchItem.DeletedChars“
args2(14).Value = 2
args2(15).Name = „SearchItem.InsertedChars“
args2(15).Value = 2
args2(16).Name = „SearchItem.TransliterateFlags“
args2(16).Value = 1280
args2(17).Name = „SearchItem.Command“
args2(17).Value = 0
args2(18).Name = „Quiet“
args2(18).Value = true
dispatcher.executeDispatch(document, „.uno:ExecuteSearch“, „“, 0, args2())
rem ----------------------------------------------------------------------
dim args3(18) as new com.sun.star.beans.PropertyValue
args3(0).Name = „SearchItem.StyleFamily“
args3(0).Value = 2
args3(1).Name = „SearchItem.CellType“
args3(1).Value = 0
args3(2).Name = „SearchItem.RowDirection“
args3(2).Value = true
args3(3).Name = „SearchItem.AllTables“
args3(3).Value = false
args3(4).Name = „SearchItem.Backward“
args3(4).Value = true
args3(5).Name = „SearchItem.Pattern“
args3(5).Value = false
args3(6).Name = „SearchItem.Content“
args3(6).Value = false
args3(7).Name = „SearchItem.AsianOptions“
args3(7).Value = false
args3(8).Name = „SearchItem.AlgorithmType“
args3(8).Value = 1
args3(9).Name = „SearchItem.SearchFlags“
args3(9).Value = 65536
args3(10).Name = „SearchItem.SearchString“
args3(10).Value = „.*“
args3(11).Name = „SearchItem.ReplaceString“
args3(11).Value = „“
args3(12).Name = „SearchItem.Locale“
args3(12).Value = 255
args3(13).Name = „SearchItem.ChangedChars“
args3(13).Value = 2
args3(14).Name = „SearchItem.DeletedChars“
args3(14).Value = 2
args3(15).Name = „SearchItem.InsertedChars“
args3(15).Value = 2
args3(16).Name = „SearchItem.TransliterateFlags“
args3(16).Value = 1280
args3(17).Name = „SearchItem.Command“
args3(17).Value = 0
args3(18).Name = „Quiet“
args3(18).Value = true
dispatcher.executeDispatch(document, „.uno:ExecuteSearch“, „“, 0, args3())
dispatcher.executeDispatch(document, „.uno:GoToEndOfLine“, „“, 0, Array())
end sub
Warum der Such-Prozess zweimal ausgeführt werden muss, weiß ich auch noch nicht. Das Springen ans Zeilenende hat bei mir auch nicht richtig geklappt…
Das Makro lässt sich dann auf eine Tastenkombination legen.
Viel Erfolg!
Sascha