Salve a tutti, sono di nuovo qui a chiedere un consiglio.
Finora per popolare una listBox ho sempre utilizzato questo metodo, scorrendo riga per riga con un ciclo fino all'ultima utilizzata.Ho letto però, che utilizzando un array sarebbe molto piu veloce.Questo sistema infatti va bene per un centinaio di righe ma poi diventa troppo lento.Qualcuno mi puo aiutare?
'questa è una mia funzione, che passato come parametro il nome foglio restituisce l'ultima riga utilizzata
UltimaRiga("Schede clienti")
For i = 1 to LastRow
if clienti.getCellByPosition(0, i).String <> "" then
oDialogo.getControl("ListaClienti").addItem(clienti.getCellByPosition(0, i).string , oDialogo.getControl("ListaClienti").ItemCount)
end if
next i
Quindi dovrei ottenere l'array che per un determinato foglio vada dalla prima all'ultima riga utilizzata.E poi aggiungerlo alla listbox.
Grazie a tutti.
[Risolto] Popolare ListBox con array
[Risolto] Popolare ListBox con array
Ultima modifica di charlie il martedì 17 gennaio 2017, 13:51, modificato 2 volte in totale.
Motivazione: Aggiunta spunta verde
Motivazione: Aggiunta spunta verde
Open Office 4 beta
windows 7
windows 7
Re: Popolare ListBox con array
Codice: Seleziona tutto
LBox = Dlg.getControl("ListBox1")
oDoc = ThisComponent
Sheet = oDoc.Sheets(0)
CellRange = Sheet.getCellRangeByName("A1:A4")
Dati = CellRange.GetDataArray
svc = createUnoService("com.sun.star.sheet.FunctionAccess")
Dati1 = svc.callFunction("TRANSPOSE", Array(Dati))
LBox.getModel.StringItemList = Dati1(0)
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Re: Popolare ListBox con array
Grazie! Funziona perfettamente! L'unica cosa, come faccio ad indicare come fine del range l'ultima cella utilizzata?
Open Office 4 beta
windows 7
windows 7
Re: Popolare ListBox con array
CellRange = Sheet.getCellRangeByName("A1:A" & LastRow)
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta