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]

Rispondere a