Hallo,
habe mal wieder ein Problem: Ich möchte nach bestimmten Regeln einzelne Zellinhalte in eine andere Tabelle übernehmen. Habe das ganze mit Makrorekorder hinbekommen. Leider wird das Script über 7000 Zeilen lang und deshalb habe ich versucht, es mit einem Unterprogrammen “Umspeichern” zu lösen mit Variablen QuellZelle, ZielZelle. siehe Beispiel. Leider meldet mir der Dispatcher “Argument ist nicht optional” Offenbar kann ich den"Value" nicht indirekt adressieren. Ist das so oder ist das ein Bug von LO7.03.1 und welche alternative Lösung gibt es?
Vielen Dank für eure Hilfe.
sub Umspeichern(QuZelle,ZielZelle)
rem ----------------------------------------------------------------------
dim args21(0) as new com.sun.star.beans.PropertyValue
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
args21(0).Name = "Nr"
args21(0).Value = 5
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args21())
rem ----------------------------------------------------------------------
dim args22(0) as new com.sun.star.beans.PropertyValue
args22(0).Name = "ToPoint"
args22(0).Value = QuZelle <----------- Der Übeltäter
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args22())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
Sub Makro1
Call Umspeichern("$A$2","$A$3")
Call Umspeichern("$B$4","$B$3")
Call Umspeichern("$B$5","$C$3")
Call Umspeichern("$B$6","$D$3")
Call Umspeichern("$B$16","$E$3")
Call Umspeichern("$D$10","$F$3")
Call Umspeichern("$D$11","$G$3")
Call Umspeichern("$D$12","$H$3")
Call Umspeichern("$D$16","$I$3")
Call Abschluss("$D$16")
End sub