Seite 1 von 1

Spezialfilter wird im Makro nicht ausgeführt

Verfasst: Mi, 30.04.2008 21:07
von mifrae
ich möchte eine Waren-Tabelle in Calc mit dem Spezialfilter nach meiner "Bestellmenge" filtern und diesen Vorgang mit einem Makro aufzeichnen. Beim Aufzeichnen funktioniert alles wie gewünscht. Das Makro speichere ich unter dem Namen der Tabelle unter Standard/Modul1. Nun weise ich einer Schaltfläche unter "Kontrollfeld" das Makro zu. Wenn ich nun die Schaltfläche betätige wird zwar eine Zelle markiert, wie aufgezeichnet, der Spezialfilter allerdings nicht ausgeführt. Kann mir da jemand weiterhelfen?

Michael

Re: Spezialfilter wird im Makro nicht ausgeführt

Verfasst: Do, 01.05.2008 12:24
von Toxitom
Hey Michael,
mifrae hat geschrieben:Kann mir da jemand weiterhelfen?
Ohne Code sehr schwierig..... Der Dispatcher kan nicht alles aufzeichnen (Dispatcher-Code wird verwendet bei "Makro aufzeichnen". Manchmal allerdings ist er sich nur ziemlich "unsicher" und versieht dann den eingentlichen Ausführungsbefehl mit einem "REM", kommentiert ihn also aus.
Oft reicht es dann schon, dieses "REM" zu entfernen.
Doch ohne die Darstelung deines Codes ist das ales "Raterei" ;-)

Gruss
Thomas

Re: Spezialfilter wird im Makro nicht ausgeführt

Verfasst: Do, 01.05.2008 15:44
von mifrae
Hier ist der Dispatcher Code, ich habe mal das rem vor "dispatcher.executeDispatch(document, ".uno:DataFilterSpecialFilter", "", 0, Array())" gelöscht, dann wurde zwar der Spezialfilter aufgerufen, jedoch musste ich dann immer die Abfragen neu eingeben.

Code: Alles auswählen

sub Auswahl_filtern
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 = "Sel"
args1(0).Value = false

dispatcher.executeDispatch(document, ".uno:GoToStart", "", 0, args1())

rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "$C$11"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args2())

rem ----------------------------------------------------------------------
rem dispatcher.executeDispatch(document, ".uno:DataFilterSpecialFilter", "", 0, Array())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:FilterExecute", "", 0, Array())

rem ----------------------------------------------------------------------
dim args5(0) as new com.sun.star.beans.PropertyValue
args5(0).Name = "ToPoint"
args5(0).Value = "$M$4"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args5())


end sub