Makro Probleme
Verfasst: So 22. Aug 2021, 23:41
Guten Abend Community,
ich habe folgenes Problem:
Ich habe ein LO Calc Projekt bestehend aus 8 Tabellen. Auf der 6 Tabelle habe ich ein Button erstellt der auf Befehl
folgenes ausführen soll:
Nachdem Textinhalte in ausgewählten Zellbereichen in Tabellen 5,4,3 nacheinander gelöscht werden sollen, möchte ich auf
Tabelle 3 in einer bestimmten Zelle enden. Ich habe folgenes Makro aufgezeichnet:
REM ***** BASIC *****
sub TEST
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 ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$I$25:$AF$40"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:ClearContents", "", 0, Array())
rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "Nr"
args3(0).Value = 4
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args3())
rem ----------------------------------------------------------------------
dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "ToPoint"
args4(0).Value = "$I$25:$AJ$40"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args4())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:ClearContents", "", 0, Array())
rem ----------------------------------------------------------------------
dim args6(0) as new com.sun.star.beans.PropertyValue
args6(0).Name = "Nr"
args6(0).Value = 3
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args6())
rem ----------------------------------------------------------------------
dim args7(0) as new com.sun.star.beans.PropertyValue
args7(0).Name = "ToPoint"
args7(0).Value = "$I$25:$AF$40"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args7())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:ClearContents", "", 0, Array())
rem ----------------------------------------------------------------------
dim args9(0) as new com.sun.star.beans.PropertyValue
args9(0).Name = "ToPoint"
args9(0).Value = "$I$25"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args9())
end sub
Durch betätigen des Buttons wird dieses Makro ausgeführt, nur stört es mich, dass jede tabelle einzeln kurz eingeblendet wird. Ist es möglich die "lösch" funktion zu behalten und nur das ein Tabellensprung von tabelle 6 zu Tabelle 3 zu sehen ist ?
Ich hoffe ich konnte das Problem relativ gut erklären und über ein Tipp würde ich mich freuen.
Beste Grüße BecksTown
ich habe folgenes Problem:
Ich habe ein LO Calc Projekt bestehend aus 8 Tabellen. Auf der 6 Tabelle habe ich ein Button erstellt der auf Befehl
folgenes ausführen soll:
Nachdem Textinhalte in ausgewählten Zellbereichen in Tabellen 5,4,3 nacheinander gelöscht werden sollen, möchte ich auf
Tabelle 3 in einer bestimmten Zelle enden. Ich habe folgenes Makro aufgezeichnet:
REM ***** BASIC *****
sub TEST
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 ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$I$25:$AF$40"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:ClearContents", "", 0, Array())
rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "Nr"
args3(0).Value = 4
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args3())
rem ----------------------------------------------------------------------
dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "ToPoint"
args4(0).Value = "$I$25:$AJ$40"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args4())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:ClearContents", "", 0, Array())
rem ----------------------------------------------------------------------
dim args6(0) as new com.sun.star.beans.PropertyValue
args6(0).Name = "Nr"
args6(0).Value = 3
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args6())
rem ----------------------------------------------------------------------
dim args7(0) as new com.sun.star.beans.PropertyValue
args7(0).Name = "ToPoint"
args7(0).Value = "$I$25:$AF$40"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args7())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:ClearContents", "", 0, Array())
rem ----------------------------------------------------------------------
dim args9(0) as new com.sun.star.beans.PropertyValue
args9(0).Name = "ToPoint"
args9(0).Value = "$I$25"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args9())
end sub
Durch betätigen des Buttons wird dieses Makro ausgeführt, nur stört es mich, dass jede tabelle einzeln kurz eingeblendet wird. Ist es möglich die "lösch" funktion zu behalten und nur das ein Tabellensprung von tabelle 6 zu Tabelle 3 zu sehen ist ?
Ich hoffe ich konnte das Problem relativ gut erklären und über ein Tipp würde ich mich freuen.
Beste Grüße BecksTown