Recupera le informazioni di ordinamento per un intervallo di celle

    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:

    Questa pagina fornisce una procedura macro di LibreOffice Basic che recupera le informazioni di ordinamento per un determinato intervallo di celle. È un esempio tratto dal Capitolo 13 ("Calc come database") della Guida 7.0 Calc.

    Descrizione

    Potete usare il metodo createSortDescriptor() per recuperare le informazioni di ordinamento per un dato intervallo di celle. Se questo metodo viene chiamato su un intervallo di un database, creerà un descrittore di ordinamento utilizzando le informazioni di ordinamento memorizzate con quell'intervallo. D'altra parte, se createSortDescriptor() viene chiamato su un intervallo denominato standard o un intervallo senza nome, genererà un descrittore di ordinamento con proprietà predefinite. In entrambi i casi, il descrittore di ordinamento appena generato può essere modificato e passato come argomento a un metodo sort chiamato su un determinato intervallo.

    La seguente procedura macro mostra come generare e visualizzare le informazioni di ordinamento associate a un intervallo. L'output di questa macro è una finestra di dialogo che visualizza le proprietà del descrittore di ordinamento.

    Codice

    Sub DisplaySortDescriptor
      On Error Resume Next
      Dim oSheet
      Dim oRange       ' È necessario un intervallo per creare il descrittore di ordinamento.
      Dim oSortDescript
      Dim i%
      Dim s$
      Dim oDoc         ' Riferimento al documento di calcolo appena creato.
      
      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

    Questo Foglio di calcolo Calc contiene il codice LibreOffice Basic di cui sopra.