Ciao Davide, Alle 16:05, domenica 4 settembre 2005, Davide Prina ha scritto: > Mi servirebbe un aiuto per il thesaurus. > Stiamo preparando un metodo da usare per introdurre nuovi sostantivi > mancanti (estratti in automatico dal thesaurus attuale), con una > riclassificazione di tutto il thesaurus secondo le nuove modalità di OOo > 2.0 > > In pratica il lavoro verrà fatto su fogli di calcolo ed un'operazione > consiste nello svuotare le celle che contengono un sinonimo errato (tra > quelli estratti in automatico). In questo modo restano delle celle vuote > tra quelle piene su ogni riga. > > Occorrerebbe avere una macro che permettesse di compattare le varie righe > spostando tutte le celle piene sulla sinistra di ogni riga. [....] > Se qualcuno ha un po' di tempo e le competenze per farla ....
In fondo a questo post trovi una macro di poche righe che dovrebbe assolvere allo scopo (sempre se ho capito bene i termini del problema) Per il momento la puoi utilizzare incollandola in un qualsiasi modulo, sia nel documento che in una libreria condivisa (es. nella libreria "Standard" ) Se servono ulteriori istruzioni sono ovviamente a disposizione. Dato che ho scritto la macro in pochi minuti e non ho fatto test particolari, ***RACCOMANDO VIVAMENTE DI LAVORARE SU UNA COPIA DEL DOCUMENTO*** Fammi sapere se sono necessarie correzioni/modifiche/migliorie Appena possibile impacchetto tutto come UNO package in modo che possiate installarlo e usarlo più comodamente -------------8<------------- REM ***** BASIC ***** Option Explicit Sub CompactTableColumns Dim oDoc As Object Dim oActiveSheet As Object Dim oCursor As Object Dim oEmptyCells As Object Dim mAddresses As Object Dim oRngAddr As Object Dim I As Integer 'oDoc = StarDesktop.getCurrentComponent oDoc = ThisComponent oActiveSheet = oDoc.CurrentController.ActiveSheet oCursor = oActiveSheet.createCursor oCursor.gotoStartOfUsedArea(False) oCursor.gotoEndOfUsedArea(True) oEmptyCells = oCursor.queryEmptyCells mAddresses() = oEmptyCells.getRangeAddresses For I = UBound(mAddresses()) To LBound(mAddresses()) Step -1 oRngAddr = mAddresses(I) oActiveSheet.removeRange( _ oRngAddr, com.sun.star.sheet.CellDeleteMode.LEFT ) Next I End Sub --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]