Trovato!! :-)
Bart Aimar ha scritto:
Quindi rovesciare l'ordine non è sufficiente e per aggirare il problema
reale, ma sarebbe necessario strutturare la macro in modo che cancelli
tutti i nomi prima, e lasciando per ultimo il famigerato "elenco_prezzi".
Confesso di averci provato... ma senza trovare il modo...
Ma è ormai nota la mia scarsa abilita come programmatore... e se ci sono
dei suggerimenti sono i benvenuti!
Ci ho messo una pezza (con il taglia incolla sono proprio bravo!)
facendogli cancellare i nomi fino ad elenco_prezzi, e poi invertendo
l'ordine in modo che elenco prezzi rimanga l'ultimo nome ad essere
cancellato!
SUB Elimina_Tutti_Nomi_Definitiva
dim n as integer
oDoc = ThisComponent
oAree=oDoc.NamedRanges'
oNomiArea() = oAree.ElementNames()
n = oAree.Count - 1
For i = 0 to n ' elimino i nomi fino ad elenco_prezzi
' (by Marco Caresia)
if oNomiArea(i) = "elenco_prezzi" then
exit for
end if
oAree. RemoveByName(oNomiArea(i))
next
' nomi cancellati fino ad elenco_prezzi (escluso)
' Adesso inverto l'ordine di cancellazione incominciando
' dall'ultima... (by Lido Bernardini)
For i = 0 to oAree.getCount() - 1
a = oAree.getCount()
oNomiArea = oAree.ElementNames(a - 1)
oAree. RemoveByName(oNomiArea)
next
print "finito!!"
End Sub
Risultato 25 secondi! Ottimo!
(L'ho provata su diversi file e sembra confermare comportamento e
risultati!)
Ovviamente sono sempre gradite buone idee per ottimizzare il codice...
Paolo! Sei sempre "ritirato" malgrado le mie minacce?
Rimane da capire il perché di un comportamento come tu lo hai descritto..
Perchè una volta cancellato elenco_prezzi per gli altri nomi ci vuole
un' eternità?
Che siano tutte quelle celle concatenate ad un nome non più esistente
a rallentare tutto il processo?
Credo ci sia poco da capire... probabilmente è un comportamento
corretto... parecchie migliaia di riferimenti che non trovano più a cosa
riferirsi manderebbe in crisi chiunque!
Prendiamone atto!
Comunque Lido la tua intuizione è stata molto buona ed ha portato a
risultati.
... ma devi ammettere che il mio errore di postare un file già monco dei
nomi che precedevano elenco_prezzi ti ha aiutato! :-)
grazie!
Bart
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]