Jump to content

Sortierinformationen aus einem Zellbereich erhalten

From The Document Foundation Wiki
This page is a translated version of the page Macros/Calc/ba025 and the translation is 100% complete.


Zusammenfassung

Diese Seite zeigt ein LibreOffice Basic Makro, das die sortierten Informationen aus einem gegebenen Zellbereich abruft. Es ist ein Beispiel aus Kapitel 13 ("Calc als Datenbank") aus dem Handbuch zu Calc 7.0.

Beschreibung

Die Methode createSortDescriptor() kann verwendet werden, um die sortierten Informationen aus dem gegebenen Bereich abzurufen. Falls diese Methode auf einen Datenbankbereich angewendet wird, wir eine Sortierbeschreibung für die zu sortierenden Daten aus dem Bereich erzeugt. Wenn andererseits createSortDescriptor() auf einen benannten oder unbenannten Standardbereich angewendet wird, wird eine Sortierbeschreibung mit Standardwerten erzeugt. In jedem Fall kann die neu erzeugte Sortierbeschreibung verändert werden und als Argument an die sort Methode übergeben werden, die auf einem gegebenen Bereich angewendet wird.

Das folgende Makro zeigt, wie die sortierten Informationen aus einem Bereich erzeugt und angezeigt werden. Die Ausgabe dieses Makros ist ein Dialog, der die Bestandteile der Sortierbeschreibung anzeigt.

Code

Sub DisplaySortDescriptor
  On Error Resume Next
  Dim oSheet
  Dim oRange       ' Zur Erstellung der Sortierbeschreibung wird ein Bereich benötigt.
  Dim oSortDescript
  Dim i%
  Dim s$
  Dim oDoc         ' Das neu erzeugte Calc Dokument referenzieren.
  
  oDoc = StarDesktop.loadComponentFromURL("private:factory/scalc", "_default", 0, Array())
  oSheet = oDoc.Sheets(0)
  oRange = oSheet.getCellRangeByName("B28:D33")
  oSortDescript = oRange.createSortDescriptor()
  For i = LBound(oSortDescript) To UBound(oSortDescript)
    s = s & oSortDescript(i).Name & " = "
    s = s & oSortDescript(i).Value
    s = s & CHR$(10)
  Next
  MsgBox s, 0, "Sort Descriptor"
End Sub

Dieses Calc Tabellenblatt enthält den obigen LibreOffice Basic Code.