Ciao Michele,
Alle 12:22, mercoledì 5 aprile 2006, Michele Zarri ha scritto:
> Ciao Dev-IT,
>
> Prima di tutto devo confessare che per il 99% dei casi uso StarBasic per
> creare macro in Writer, tuttavia di recente ho avuto bisogno di creare un
> paio di macro in Calc e mi sono subito trovato di fronte a un bel
> problemuccio (sicuramente causato dalla mia inesperienza).
>
> Ho un insieme di stringhe in una colonna che vorrei mettere in un array,
> cercando qua e la' ho trovato questo:
> http://api.openoffice.org/docs/common/ref/com/sun/star/sheet/XCellRangeData
>html#getDataArray
>
> Percio' avevo scritto le seguenti istruzioni:
> Nota: Un po' sopra queste istruzioni ho un Dim mCategoriesArray() As String
>
> oSourceRange = oDataSheet.getCellRangeByPosition(0,1,0,nNumberOfCategories)
> mCategoriesArray() = oSourceRange.getDataArray( )
>
> .. e non funziona.
>
> dove sbaglio?
Mi pare che problema sia il dimensionamento dell'array come String
notare che la documentazione che hai citato dice:
---------
Methods' Details
getDataArray
sequence< sequence< any > >
---------
In sostanza il metodo restituisce una sequenza di sequenze che a loro volta
contengono dati di tipo any
tradotto in Basic:
si tratta di un array di arrays nei quali gli elementi sono di tipo Variant
In pratica, se chiami getDataArray() sul range A1:B3 ti viene restituito un
array nidificato come questo:
[ [A1,B1], [A2,B2], [A3,B3] ]
Dove A1,B1 ecc. rappresentano i dati contenuti nelle celle omonime.
In termini di codice dovrai dichiarare il tuo array principale come Variant
Oppure puoi omettere del tutto il tipo di dato (equivale a Variant)
Poi per ottenere il contenuto delle celle dovrai impostare non uno ma due
cicli nidificati:
Dim mCategoriesArray() As Variant
Dim Riga() As Variant
Dim Cella As Variant
oSourceRange = oDataSheet.getCellRangeByPosition(0,1,0,nNumberOfCategories)
mCategoriesArray() = oSourceRange.getDataArray()
For Each riga in mCategoriesArray()
For Each Cella in Riga()
Print Cella
Next Cella
Next Riga
NB: nell'esempio ho dichiarato solo le variabili legate alla questione
proposta.
saluti
Paolo Mantovani
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]