Il 20/03/2012 22:44, nicola ha scritto:
> Finalmente ho potuto provare la macro modificata x eliminare le celle
> vuote, è perfetta!
> ora ho un'altra richiesta se è possibile, la macro copia tutti i dati
> contenuti nelle celle indicate e li incolla tali e quali
> ma in certe celle ci sono delle formule che copiate in un'altro foglio
> non hanno senso.
> si può inserire nella macro un opzione per copiare solo testo e
> numeri(il risultato delle formule) senza le formule?
> grazie Nicola
Be', se non ti interessano formule e formattazione la macro è ancora più
semplice... Basta usare il DataArray del range di origine e copiarlo in
quello di destinazione.
Per comodità ti posto tutta la macro modificata:
Sub CopyValues
Dim aFileProp(0) As New com.sun.star.beans.PropertyValue
oDoc = ThisComponent
oSheet = oDoc.Sheets.getByName("Foglio1")
oCopyRange = oSheet.getCellRangeByName("A13:I44")
oDoc =
StarDesktop.LoadComponentFromURL(ConvertToURL("/home/fatture/dati.ods"),
"_default", 0, aFileProp())
oSheet = oDoc.Sheets.getByName("Foglio1")
oCellCursor = oSheet.createCursor()
oCellCursor.gotoEndOfUsedArea(False)
nEndRow = oCellCursor.getRangeAddress().endRow + 1
oPasteRange = oSheet.getCellRangeByPosition(0, nEndRow, 8, nEndRow +
(44 - 13)) '0=A 8=I
oPasteRange.DataArray = oCopyRange.DataArray
For i = nEndRow + (44 - 13) To nEndRow Step -1
If oSheet.getCellByPosition(0, i).Type =
com.sun.star.table.CellContentType.EMPTY Then
oSheet.getRows.removeByIndex(i, 1)
End If
Next i
oDoc.store()
oDoc.close(false)
End Sub
Ciao,
Cesare
---------------------------------------------------------------------
Per cancellarsi: [email protected]
Per informazioni: http://www.openoffice.org/it/
Per avviare una nuova discussione: [email protected]
Archivi: http://mail-archives.apache.org/mod_mbox/incubator-ooo-utenti-it