Ciao

Il 12/10/2010 10:40, M. Manca ha scritto:
Ciao a tutti,
normalmente uso calc senza utilizzare macro o altri linguaggi di
scripting, ora però ho la necessità di fare una cosa, probabilmente
molto semplice ma per me non lo è, e più precisamente: un bottone che
nel documento calc crei un nuovo foglio di nome C1 se è il primo, C2....
Cx e così via ed il contenuto del foglio deve essere la copia brutale
del foglio MODELLO. Inoltre nel foglio TOTALI dovrebbe aggiungere una
riga (stesso formato delle righe precedenti contenute nello stesso
foglio TOTALI) con il nome del foglio aggiunto nella riga nuova ad una
colonna specifica (es. se il foglio aggiunto si chiama C4 in A6 ci sarà
scritto C4).
Non vi chiedo di scrivere la soluzione per me ma di indirizzarmi in
qualche modo per cercare argomenti di studio per arrivare alla soluzione.

Ok vediamo uan cosa alla volta:

per copiare una tabella di calc:

  ThisComponent.Sheets.copyByname("Foglio1", "NuovoFoglio", 0)

Dove:
  "Foglio1" è la tabella da copiare
  "NuovoFoglio" è il nome della nuova tabella
  0 è la posizione in cui inserire la nuova tabella
  (la pos. 0 è la prima a sinistra)

per aggiungere una riga:

  oSh  = ThisComponent.Sheets.NuovoFoglio
  oSh.Rows.insertByIndex(10, 1)

Dove:
10 è la posizione in cui si vuole inserire la riga
1 è il numero delle nuove righe da inserire

Per quanto riguarda i formati abbiamo diverse strategie,
Una è quella di preparare nanualmente degli stili di cella che rimangano a disposizione nel documento e utilizzarli via macro

la seconda opzione è l'equivalente macro del "trascinamento" in giù di un range.
In questo modo si possono ereditare formule, contenuti e formati.

Direi che ne parliamo nella prossima puntata, perchè al momento ho un po fretta, intanto comincia a sperimentare con il codice che ti ho suggerito A proposito, sulla gestione delle tabelle via macro puoi trovare ulteriori informazioni qui:
<http://ooomacros.blogspot.com/2010/08/lavorare-con-le-tabelle-di-calc.html>


ciao
Paolo M

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Rispondere a