Dir fehlt im Prinzip die "enter-Taste" mit der eine Formeleingabe normalerweise abgeschlossen wird.
Die Aufgabenstellung kann aber gut mit aufgezeichnetem Dispatcher-code gelöst werden:
Code: Alles auswählen
sub Formel_in_alle_TabellenG10
' Recorded by Karo
' Date: Wed Jan 16 00:18:07 2008
' get access to the document
oDocumentModel = ThisComponent
oDocumentView = oDocumentModel.getCurrentController()
oDocumentFrame = oDocumentView.Frame
' the dispatcher service is used to send commands from the
' document frame to the underlaying office application
oDispatcher = CreateUnoService("com.sun.star.frame.DispatchHelper")
oDispatcher.executeDispatch(oDocumentFrame, ".uno:TableSelectAll" ,"" ,0 ,Array())
Dim mArgs1(0) As New com.sun.star.beans.PropertyValue
mArgs1(0).Name = "ToPoint"
mArgs1(0).Value = "$G$10"
oDispatcher.executeDispatch(oDocumentFrame, ".uno:GoToCell" ,"" ,0 ,mArgs1())
Dim mArgs2(0) As New com.sun.star.beans.PropertyValue
mArgs2(0).Name = "StringName"
mArgs2(0).Value = "=5*AUFRUNDEN(MAX(E10;F10)*1,2/5)"
oDispatcher.executeDispatch(oDocumentFrame, ".uno:EnterString" ,"" ,0 ,mArgs2())
Dim mArgs3(0) As New com.sun.star.beans.PropertyValue
mArgs3(0).Name = "Tables"
mArgs3(0).Value = Array(0)
oDispatcher.executeDispatch(oDocumentFrame, ".uno:SelectTables" ,"" ,0 ,mArgs3()
end sub