Difference between revisions of "IT/Documentation/BASIC Guide/Editing Spreadsheet Documents"
(One intermediate revision by the same user not shown) | |
(No difference)
|
Latest revision as of 03:28, 7 July 2009
- Struttura dei fogli elettronici
- Modifica dei fogli elettronici
Nella sezione precedente è stata descritta la struttura principale dei fogli elettronici, mentre la presente sezione illustra i servizi che permettono di accedere rapidamente alle singole celle o a intervalli di celle.
Contents
Intervalli di celle
Oltre a un oggetto per singole celle (servizio com.sun.star.table.Cell), Apache OpenOffice fornisce anche oggetti che rappresentano intervalli di celle. Tali oggetti CellRange vengono creati tramite la chiamata getCellRangeByName dell'oggetto foglio elettronico:
Dim Doc As Object Dim Sheet As Object Dim CellRange As Object Doc = StarDesktop.CurrentComponent Sheet = Doc.Sheets.getByName("Sheet 1") CellRange = Sheet.getCellRangeByName("A1:C15")
Nei fogli elettronici, per specificare un intervallo di celle vengono utilizzati i due punti (:). Ad esempio, A1:C15 rappresenta tutte le celle nelle righe da 1 a 15 delle colonne A, B e C.
La posizione delle singole celle in un intervallo di celle può essere determinata con il metodo getCellByPosition, in cui le coordinate della cella superiore sinistra dell'intervallo sono (0, 0). L'esempio seguente si avvale precisamente di questo metodo per creare un oggetto della cella C3.
Dim Doc As Object Dim Sheet As Object Dim CellRange As Object Dim Cell As Object Doc = StarDesktop.CurrentComponent Sheet = Doc.Sheets.getByName("Sheet 1") CellRange = Sheet.getCellRangeByName("B2:D4") Cell = CellRange.GetCellByPosition(1, 1)
Formattazione degli intervalli di celle
È possibile applicare la formattazione in modo analogo a quanto avviene per le singole celle anche agli intervalli di celle, tramite il servizio com.sun.star.table.CellProperties. Per ulteriori informazioni ed esempi di questo servizio, consultare la sezione Formattazione dei fogli elettronici.
Calcolo con gli intervalli di celle
Il metodo computeFunction permette di eseguire operazioni matematiche sugli intervalli di celle. computeFunction prevede come parametro una costante che descrive la funzione matematica da utilizzare. Le costanti associate sono definite nell'enumerazione com.sun.star.sheet.GeneralFunction. Sono disponibili i seguenti valori:
- SUM
- Somma di tutti i valori numerici
- COUNT
- Numero totale di tutti i valori (compresi i valori non numerici)
- COUNTNUMS
- Numero totale di tutti i valori numerici
- AVERAGE
- Media di tutti i valori numerici
- MAX
- Massimo valore numerico
- MIN
- Minimo valore numerico
- PRODUCT
- Prodotto di tutti i valori numerici
- STDEV
- Deviazione standard
- VAR
- Varianza
- STDEVP
- Deviazione standard basata sulla popolazione totale
- VARP
- Varianza basata sulla popolazione totale
L'esempio seguente calcola il valore medio dell'intervallo di celle A1:C3 e stampa il risultato in una casella di messaggi:
Dim Doc As Object Dim Sheet As Object Dim CellRange As Object Doc = StarDesktop.CurrentComponent Sheet = Doc.Sheets.getByName("Sheet 1") CellRange = Sheet.getCellRangeByName("A1:C3") MsgBox CellRange.computeFunction(com.sun.star.sheet.GeneralFunction.AVERAGE)
Eliminazione del contenuto delle celle
Il metodo clearContents semplifica il processo di eliminazione del contenuto di celle e intervalli di celle in quanto elimina un tipo specifico di contenuto da un intervallo di celle.
L'esempio seguente rimuove tutte le stringhe e le informazioni di formattazione diretta dall'intervallo B2:C3.
Dim Doc As Object Dim Sheet As Object Dim CellRange As Object Dim Flags As Long Doc = StarDesktop.CurrentComponent Sheet = Doc.Sheets(0) CellRange = Sheet.getCellRangeByName("B2:C3") Flags = com.sun.star.sheet.CellFlags.STRING + _ com.sun.star.sheet.CellFlags.HARDATTR CellRange.clearContents(Flags)
I flag specificati in clearContents provengono dall'elenco di costanti com.sun.star.sheet.CellFlags, che dispone degli elementi seguenti:
- VALUE
- Valori numerici non formattati come data o ora
- DATETIME
- Valori numerici formattati come data o ora
- STRING
- Stringhe
- ANNOTATION
- Commenti collegati alle celle
- FORMULA
- Formule
- HARDATTR
- Formattazione diretta delle celle
- STYLES
- Formattazione indiretta
- OBJECTS
- Oggetti disegno collegati alle celle
- EDITATTR
- Formattazione dei caratteri applicabile solo a parte delle celle
È inoltre possibile raggruppare costanti per eliminare informazioni diverse utilizzando una chiamata da clearContents.
Ricerca e sostituzione del contenuto delle celle
I fogli elettronici, come i documenti di testo, forniscono una funzione per la ricerca e la sostituzione.
Gli oggetti descrittori per la ricerca e la sostituzione nei fogli elettronici non vengono creati direttamente tramite l'oggetto documento, bensì tramite l'elenco Sheets. Il seguente è un esempio di un processo di ricerca e sostituzione:
Dim Doc As Object Dim Sheet As Object Dim ReplaceDescriptor As Object Dim I As Integer Doc = StarDesktop.CurrentComponent Sheet = Doc.Sheets(0) ReplaceDescriptor = Sheet.createReplaceDescriptor() ReplaceDescriptor.SearchString = "is" ReplaceDescriptor.ReplaceString = "was" For I = 0 to Doc.Sheets.Count - 1 Sheet = Doc.Sheets(I) Sheet.ReplaceAll(ReplaceDescriptor) Next I
Questo esempio utilizza la prima pagina del documento per creare un ReplaceDescriptor, che viene quindi applicato a tutte le pagine in un ciclo.
Content on this page is licensed under the Public Documentation License (PDL). |