Ich habe erst jetzt Zeit gehbat mein Makro anzupassen. Der von Karolus vorgeschlagene Befehl:
sorgt dafür, dass die Fehlermeldung verschwindet. Sortiert ist das Tabellenblatt hinterher aber nicht, obwohl das Makro fehlerfrei durchläuft ... Bei "Rückgängig" kann ich einen Sortiervorgang rückgängig machen, der aber keine Änderung bringt. Dabei sehe ich auch den Bereich der sortiert wird. Dieser ist korrekt und kann daher nicht das Problem sein. Wenn ich Daten manuell sortiere funktioniert alles wie es soll. Muss ich das Tabellenblatt vielleicht irgendwie aktualisieren?
Hier Beispielsheet:
http://www73.zippyshare.com/v/40750806/file.html
Und hier das Makro das ich dazu verwende:
Code: Alles auswählen
from com.sun.star.beans import PropertyValue
from com.sun.star.table import TableSortField
from com.sun.star.table.TableSortFieldType import AUTOMATIC
def sort(object=object):
thisComponent = XSCRIPTCONTEXT.getDocument()
datasheet = thisComponent.Sheets.getByName('Tabelle1')
# Sortierung der Tabelle sicherstellen
sRange = datasheet.getCellRangeByPosition(0,0,1,9)
SD = PropertyValue()
SF = TableSortField()
SF.Field = 1
SF.IsAscending = True
SD.Name = "SortFields"
SD.Value = SF
sRange.sort( (SD,) )
Die Erwartung wäre, dass der Test in Spalte A und die Zahlen in Spalte B nach Spalte B aufsteigend sortiert werden. Es passiert aber durch Ausführung des Makros nichts.