qualche tempo fa ero riuscito, grazie alla vostra preziosa collaborazione, a far funzionare questa macro che copia i dati da un determinato range di un file di calc e li trasferisce in un altro chiamato "Archivio" accodando i dati nella prima riga vuota.. Questa è la macro che mi funziona perfettamente:
Codice: Seleziona tutto
REM ***** BASIC *****
Rem Attribute VBA_ModuleType=VBADocumentModu
Sub AccodaDatiInFileEsterno
Dim DocName as object, DocUlr as string, dummy(), range as object
Doc = ThisComponent
Sheet = Doc.Sheets(10) ' 11° foglio del file contenete la macro
Range = Sheet.getCellRangeByName("A7:J7").getDataArray ' range da copiare
sFileName ="C:\Users\NomeUtente\Desktop\Archivio.ods" ' file destinazione
DocUrl = ConvertToURL(sFileName)
DocName = StarDesktop.loadComponentFromURL (DocUrl, "_blank",0, Dummy() )
Archivio = DocName.Sheets(0)
Archivio.unprotect("PIPPO")
Cursore = Archivio.createCursor
Cursore.gotoEndOfUsedArea(false)
UltimaRiga = Cursore.RangeAddress.EndRow
Riga = UltimaRiga + 2
dRange = Archivio.getCellRangeByName("A" & Riga & ":J" & Riga) ' range destinazione (PrimaRigaLibera)
dRange.setDataArray(Range)
Archivio.protect("PIPPO") ' Inserisce password PIPPO di protezione foglio
DocName.store
DocName.Close(true)
End SubCodice: Seleziona tutto
REM ***** BASIC *****
Rem Attribute VBA_ModuleType=VBADocumentModu
Sub AccodaDatiInFileEsterno
Dim DocName as object, DocUlr as string, dummy(), range as object
Doc = ThisComponent
Sheet = Doc.Sheets(5) ' 6° foglio del file contenete la macro
Range = Sheet.getCellRangeByName("A17:I17").getDataArray ' range da copiare
sFileName ="C:\Users\NomeUtente\Desktop\Scadenzario.ods" ' file destinazione
DocUrl = ConvertToURL(sFileName)
DocName = StarDesktop.loadComponentFromURL (DocUrl, "_blank",0, Dummy() )
Scadenzario = DocName.Sheets(0)
Scadenzario.unprotect("PIPPO")
Cursore = Scadenzario.createCursor
Cursore.gotoEndOfUsedArea(false)
UltimaRiga = Cursore.RangeAddress.EndRow
Riga = UltimaRiga + 2
dRange = Scadenzario.getCellRangeByName("A" & Riga & ":I" & Riga) ' range destinazione (PrimaRigaLibera)
dRange.setDataArray(Range)
Scadenzario.protect("PIPPO") ' Inserisce password PIPPO di protezione foglio
DocName.store
DocName.Close(true)
End Sub

