Recupera le informazioni di ordinamento per un intervallo di celle

From The Document Foundation Wiki
< Macros‎ | Calc
Jump to navigation Jump to search
This page is a translated version of the page Macros/Calc/ba025 and the translation is 100% complete.
Other languages:
English • ‎italiano

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

 1Sub DisplaySortDescriptor
 2  On Error Resume Next
 3  Dim oSheet
 4  Dim oRange       ' È necessario un intervallo per creare il descrittore di ordinamento.
 5  Dim oSortDescript
 6  Dim i%
 7  Dim s$
 8  Dim oDoc         ' Riferimento al documento di calcolo appena creato.
 9  
10  oDoc = StarDesktop.loadComponentFromURL("private:factory/scalc", "_default", 0, Array())
11  oSheet = oDoc.Sheets(0)
12  oRange = oSheet.getCellRangeByName("B28:D33")
13  oSortDescript = oRange.createSortDescriptor()
14  For i = LBound(oSortDescript) To UBound(oSortDescript)
15    s = s & oSortDescript(i).Name & " = "
16    s = s & oSortDescript(i).Value
17    s = s & CHR$(10)
18  Next
19  MsgBox s, 0, "Sort Descriptor"
20End Sub

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