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
Spezialfilter wird im Makro nicht ausgeführt
Moderator: Moderatoren
Re: Spezialfilter wird im Makro nicht ausgeführt
Hey Michael,
Oft reicht es dann schon, dieses "REM" zu entfernen.
Doch ohne die Darstelung deines Codes ist das ales "Raterei"
Gruss
Thomas
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.mifrae hat geschrieben:Kann mir da jemand weiterhelfen?
Oft reicht es dann schon, dieses "REM" zu entfernen.
Doch ohne die Darstelung deines Codes ist das ales "Raterei"

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Re: Spezialfilter wird im Makro nicht ausgeführt
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