Bart Aimar ha scritto:
> Ovviamente sono sempre gradite buone idee per ottimizzare il codice...
Bart Prova questa
sub Elimina_Tutti_NomiArea
oDoc = ThisComponent
oAree=oDoc.NamedRanges'
a = 0 ' La variabile a viene impostata a 0 per essere usata da
' oAree.ElementNames() che deve cancellare sempre il primo
' elemento della lista cioè il numero 0 fino a che non trova
' "elenco_prezzi" che non deve essere cancellato allora a
' prende il numero 1 perchè il numero 0 lo prende
"elenco_prezzi"
Do ' Uso un ciclo Do Loop perchè è più pratico che For Next
oNomiArea = oAree.ElementNames(a) ' viene rilevato il primo nome
' della lista( a = 0)
If oNomiArea = "elenco_prezzi" Then a = 1 ' Questa si spiega da
se
' vedi sopra
If oNomiArea <> "elenco_prezzi" Then
oAree.RemoveByName(oNomiArea)
' Idem per questa
If oAree.getCount() = 1 Then oAree.RemoveByName("elenco_prezzi")
' Appena oAree.getCount() scende a 1 (ultimo elemento)
viene
' cancellato anche "elenco_prezzi"
Loop Until oAree.getCount() = 0 ' A questo punto la lista è vuota
' si esce dal
loop, fine della storia
End Sub
Dimmi se ti funziona
Ciao Lido
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]