Paolo Mantovani ha scritto:
Io avrei scritto un algoritmo?
fossi in te correrei subito all'ufficio brevetti :-)
:-)
Lo so bene dove rallentano... quando fanno uso della clipboard
Purtroppo non ho ancora trovato il modo di fare un copia speciale in
modo alternativo.
cosa devi copiare esattamente e da dove a dove ?
Provo a spiegarmi... ma è difficile senza vedere degli esempi...
Ho una macro inaccettabilmente lenta che fa grosso modo questo:
- In una sheet fa delle cose... individuando delle row precise (e fin
quì è veloce)
- in quelle row deve incollare altre row copiate da un'altra sheet..
(ragionevolmente veloce...)
- poi cerca altre celle giuste li intorno... e per ciascuna va su
un'altra sheet copia, torna e incolla il formato...
(questo è lento... considerando che lo deve fare anche 3, 4 volte...)
Tutte insieme queste operazioni ci mettono, in ordine di grandezza, una
quindicina di secondi!
Si possono verificare situazioni in cui l'operazione deve essere
ripetuta iterando fra le varie voci di computo (è il caso quando si
voglio risistemare i formati secondo nuove esigenze...), e spesso sono
centinaia di cicli come quello sopra...
Ma in tal caso, paradossalmente, è meno peggio... si "lancia" prima di
andare in pausa pranzo... o la sera... e non scoccia più di tanto.
Ma se banalmente si vuol dare un'aggiustatina ad una voce (magari perchè
erano stati applicati colori strani come promemoria) si perde il filo di
ciò che si stava facendo...
:-)
Questa è un'ottima idea... proverò ad indagare in quella direzione!
Una possibile parola chiave potrebbe essere lock o li intorno...
Bingo :-)
lockControllers()
Questo metodo sospende l'aggiornamento della vista del documento durante
l'esecuzione del codice:
thisComponent.lockControllers()
...codice
...codice
...Assicurarsi che prima di uscire venga eseguito questo:
thisComponent.unlockControllers()
Quando ho provato ad inserire lockControllers() nelle mie macro ne era
venuto fuori un casino!
e Ctrl-Shift-R !!!! era l'unica salvezza...
All'epoca (qualche settimana fa...) le mie macro avevano un sacco di
passaggi che usavano (spesso inutilmente) la selezione attiva... e credo
fosse quello il problema...
E non ho ancora avuto il coraggio di riprovarci..
Su quel comando ancora non ho indagato a fondo ma l'sdk dice:
Description: suspends some notification to the controllers which are
used for display updates.
Sembrerebbe, come già scrivevi tu, che venga sospesa soltanto la
visualizzazione... e bloccato l'output a video, ma se gli dai un comando
da tastiera o ckliccki come un "utente" nervoso (proprio perchè ti
sembra che non succeda niente), quei comandi li prende...
Servirebbe il contrario... ovvero qualcosa che blocchi l'input
dell'utente fino a quando la macro non abbia finito
Ciao
Bart
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]