Daten sortieren (Makro)

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

mecki_45
***
Beiträge: 69
Registriert: Mo, 23.02.2004 17:28

Daten sortieren (Makro)

Beitrag von mecki_45 »

Hallo zusammen,
noch ne Frage:

Wie kann ich eine Tabelle nach bestimmten Kriterien sortieren (2 oder mehr)?

Dank im voraus
Alex
mecki_45
***
Beiträge: 69
Registriert: Mo, 23.02.2004 17:28

Beitrag von mecki_45 »

Hallo zusammen,

das Aufzeichnen par Makrorecorder bringt leider nicht den Erfolg, den ich wünsche - es klappt nicht.
In den Dokumentationen, die ich gefunden habe (SUN-Basic-Referenz, Developers Guide) finde ich hierzu keinen Hilfeansatz.

Hat jemand in der Runde dies schon mal probiert und kann mir einen Tipp geben?

Bin für jeden Tipp dankbar


Grüßle aus dem Schwabenländle
Alex
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

Also ich kann das aufzeichnen. Das folgende Makro sortiert die Werte erst aufsteigend nach Spalte A und anschließend aufsteigend nach Spalte B:

Code: Alles auswählen

sub Spalte_A_B
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 args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "ToPoint"
args3(0).Value = "$A$1"

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

rem ----------------------------------------------------------------------
dim args2(6) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ByRows"
args2(0).Value = true
args2(1).Name = "HasHeader"
args2(1).Value = false
args2(2).Name = "CaseSensitive"
args2(2).Value = false
args2(3).Name = "IncludeAttribs"
args2(3).Value = true
args2(4).Name = "UserDefIndex"
args2(4).Value = 0
args2(5).Name = "Col1"
args2(5).Value = 1
args2(6).Name = "Ascending1"
args2(6).Value = true

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

dim args1(6) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ByRows"
args1(0).Value = true
args1(1).Name = "HasHeader"
args1(1).Value = false
args1(2).Name = "CaseSensitive"
args1(2).Value = false
args1(3).Name = "IncludeAttribs"
args1(3).Value = true
args1(4).Name = "UserDefIndex"
args1(4).Value = 0
args1(5).Name = "Col1"
args1(5).Value = 2
args1(6).Name = "Ascending1"
args1(6).Value = true

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

end sub
Stephan
mecki_45
***
Beiträge: 69
Registriert: Mo, 23.02.2004 17:28

Beitrag von mecki_45 »

Hallo Stephan,

wieso funktioniert der Makrorecorder bei Dir und bei mir nicht?
Hast Du eine *Spezial*-Version?
Ich arbeite unter WinXP (SP2) mit OO (1.1.2)

Hab's mehrfach probiert, aber OO will bei mir nicht.


Danke für dies Makro, jetzt schaff ich mal weiter.

Grüßle
Alex
Antworten