ho provato con il listato seguente:

   *Sub Main
       oSheet = ThisComponent.CurrentController.ActiveSheet
CellRange = oSheet.getCellRangeByName("A1:A19") n = CellRange.computeFunction(com.sun.star.sheet.GeneralFunction.COUNT) srcName="BASE"
       for i = 0 to n-1
           destName = CellRange.GetCellByPosition(0,i).getvalue()
Stardesktop.CurrentComponent.Sheets.copyByName(srcName,destName,i)
        next i
   End Sub*

sto lavorando con OpenOffice 2.0; la tabella base si chiama appunto "BASE" e la tabella dove ho l'elenco dei nomi si chiama "Elenco" (che fantasia!!) comunque forse sbaglio qualcosa ma la macro và in errore alla terzultima riga: "Stardesktop.CurrentComponent..........." dicendo "Errore di runtime basic. Proprietà o metodo non trovati.". se guardo il valore della variabile *destName* mi restituisce 0 e ciò non é sicuramente giusto.
cosa non và? mi potete dare ancora un aiuto?
grazie.
--enrico


Marco Caresia ha scritto:

--enrico wrote:

- vorrei leggere dei nomi che si trovano in una tabella, ordinati in una colonna - per ognuno di questi vorrei generare una nuova tabella copiandola da una "base" e nominandola con il nome letto in partenza con le Macro di Excel saprei più o meno come muovermi ma qui in OpenOffice mi trovo un po' in difficoltà.
C'é qualche buon'anima che sa darmi qualche dritta?
grazie.


Ciao Enrico,
puoi usare il metodo copyByName(srcName,destName,index).

Ecco qualche dettaglio. Per prima cosa accedi alla tabella corrente:

 oSheet = ThisComponent.CurrentController.ActiveSheet

Quindi definisci l'intervallo di celle con i nomi che ti interessano e conti quanti sono:

 CellRange = oSheet.getCellRangeByName("A1:A4")
 n = CellRange.computeFunction(com.sun.star.sheet.GeneralFunction.COUNT)

Leggi il contenuto delle celle e crei le nuove tabelle copiandole da una chiamata "base":

 srcName="base"
 for i = 0 to n-1
   destName = CellRange.GetCellByPosition(0,i).getvalue()
   Stardesktop.CurrentComponent.Sheets.copyByName(srcName,destName,i)
 next i

L'ultima voce del metodo copyByName rappresenta dove verrà inserito il nuovo foglio.
Ciao,


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Rispondere a