Alle 21:57, venerdì 09 giugno 2006, Emanuele ha scritto:
> >>>> Function Riordina_A (_ ColRior as integer, AscDesc as boolean)as
> >>>> variant ' Riordina l'elenco prezzi con criteri ' a scelta...
> >>>
> >>> 4. è possibile impostare più criteri di ordinamento? tipo la
> >>> finestra di dialogo: per col. C, quindi per col. D....?
> >>
> >> Non saprei... non ho mai provato... ma era passato qualcosa in
> >> lista... ma non ricordo... so che avevo dato un consiglio stupido e
> >> mi avevano subito smentito...
> >>
> >> Forse qualcuno può aiutarci?
> >
> > speriamo :-)
>
> L'hai già scritto tu nel codice Bart!! :-)
>
> Dim aSortFields(1) As New com.sun.star.util.SortField
> '____^^^^^^^^^
> 'Fields, quindi plurale, quindi:
>
perfetto, quindi, per ordinare secondo tre colonne:
Function Riordina_A (_
ColRior1 as integer,ColRior2 as integer,ColRior3 as integer,AscDesc as
boolean)as variant
' i valori usati come parametri (0,4,8,189) non potrebbero essere
' passati attraverso, chessò, una finestra di dialogo?
oMioRange = osheet.getCellRangeByPosition(0,4,8,189)
Dim oSheetDSC,oDSCRange As Object
' il valore 2 dovrebbe indicare che voglio usare 3 colonne
' come criteri di ordinamento
Dim aSortFields(2) As New com.sun.star.util.SortField
Dim aSortDesc(0) As New com.sun.star.beans.PropertyValue
aSortFields(0).Field = ColRior1
aSortFields(1).Field = ColRior2
aSortFields(2).Field = ColRior3
' è possibile specificare AscDesc diverso per ogni colonna
' ma sempre meglio come parametro di Riordina_A
aSortFields(0).SortAscending = AscDesc 'TRUE'FALSE
aSortFields(1).SortAscending = AscDesc
aSortFields(2).SortAscending = AscDesc
' e poi segue secondo la strada tracciata da Bart
.....
> Intendi che infondo alla tua tabella ci sono commenti e schifezze che
> non devono essere riordinate?
> In tal caso o usi la soluzione di Bart con una stringa fissa alla fine
> della tabella oppure non so...
>
vedrò, con calma, per ora va bene anche hard coded.
.....
> Beh, poi ci sarebbe anche la famosa function che avevamo tirato fuori
> tempo fa, ma che dava problemi di focus con finestre di ricerca aperte,
> se per te non è un problema la puoi recuperare qui:
> http://it.openoffice.org/servlets/ReadMsg?list=dev&msgNo=1060
> insieme alla descrizione del problema riscontrato da Bart.
> La parte che ti permette di selezionare il range inizia dalla funzione
> "getRange" che ti restituisce il range selezionato, poi devi
> manipolarlo per ottenere quel che ti serve.
>
ottimo, ho cominciato a dargli uno sgurado, farò qualche prova.
> Se però il range da selezionare è ampio o ti serve qualcosa di più
> automatizzato, non credo sia la soluzione migliore...
>
può andare più che bene :-)
.....
> > questo mi sembra un vero ambaradan, mi sfugge anche il concetto di
> > modulo, ma questa è ignoranza mia.
>
> Immagino che Bart intendesse con "modulo" una certa sequenza di codice
> che può comprendere sub o function, anche se comunemente con modulo si
> identifica uno dei "fogli" in cui vai a scrivere il codice basic. ;-)
>
ok, chiaro.
> Esempio basilare di function, se serve:
>
> sub esempioDiFunction
> 'la riga successiva permette di assegnare
> 'alla variabile "a" il valore che otterremo
> 'dalla funzione "assegnaA"
> a = assegnaA
> msgbox a
> end sub
>
> function assegnaA() as string
> 'la riga successiva consente alla function
> 'di restituire un valore che verrà assegnato
> 'alla variabile "a" nella sub iniziale
> assegnaA = "assegnata"
------^^^^^^^^^
in pratica si usa il nome della function come fosse LA variabile che fa il
return del valore che si ottiene dalla sua esecuzione? che stress :-)
> end function
>
grazie ancora. :-)
--
A presto
-Valerio-
--
A presto
-Valerio-
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]