Sortierinformationen aus einem Zellbereich erhalten

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


    Other languages:

    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.