grazie proverò.
Nicola
--------------------------------------------------
From: "Antonello Cerrato (sf)" <[email protected]>
Sent: Thursday, March 08, 2012 4:24 PM
To: <[email protected]>
Subject: RE: [utenti] copiare dati tra fogli
Mi dispiace che non ho tempo di adattarlo al tuo scopo, ma ti do una
macro che ho fatto più o meno allo scopo che serve anche a te:
copiare dati da un documento calc a un altro: naturalmente devi
adattarla al tuo, definendo diversamente i documenti, le celle, ecc.
Sub TrasfDatiTimeWeb
oDesktop = createUnoService("com.sun.star.frame.Desktop") 'sessione
oDocument= oDesktop.CurrentComponent 'documento calc dove incollare
i dati
oSheets = oDocument.sheets 'tabelle del documento
'controlla che il documento sia quello giusto
on error goto GestioneErroreRip
if oDocument.DocumentInfo.Title "TurCalc" then exit sub
On error goto 0
oNamen = oDocument.NamedRanges
'cerca il documento dove copiare i dati
'rileva il file TurCalc_InterDat.ods
oComponents = oDesktop.getComponents()
oDocs = oComponents.createEnumeration()
While oDocs.hasMoreElements
oDoc = oDocs.NextElement
On error resume next
oInfo=oDoc.getDocumentInfo()
if oInfo.KeyWords="InterDat" then
oInterDoc = oDoc
end if
on error goto 0
Wend
oNamenInter = oInterDoc.NamedRanges
oSheetsInter = oInterDoc.sheets
'incolla i dati dalla memoria temporanea di lavoro nel foglio
InterDat
oCella=oNamenInter.getByName("PrimaCella").referredCells
oInterDoc.CurrentController.Select(oCella)
'riporta i dati in TurCalc: copia da InterDat e incolla in TurCal
miaAreaCopia=oNamenInter.getByName("AreaDati").referredCells
miaAreaIncolla=oNamen.getByName("DatiTimeWeb").referredCells
miaAreaIncolla.clearContents(7)
dim aData()
aData = miaAreaCopia.DataArray
miaAreaIncolla.DataArray=aData
'elabora formato dati in modo opportuno
for MyLoopDTW = 0 to 30
sDatoDTW = miaAreaIncolla.GetCellByPosition(2,MyLoopDTW).string
if sDatoDTW"0" then
iLung=len(sDatoDTW)
sNewDatoDTW = ""
for MyLoopDTW2 = 1 to iLung
iChr = asc(mid(sDatoDTW,MyLoopDTW2,1))
if iChr=10 then sNewDatoDTW = sNewDatoDTW & " " else sNewDatoDTW =
sNewDatoDTW & chr(iChr)
next
miaAreaIncolla.GetCellByPosition(2,MyLoopDTW).string = sNewDatoDTW
end if
next
GestioneErroreRip:
End Sub
Antonello
--------nicola wrote--------
Subject: [utenti] copiare dati tra fogli
Date: 08.03.2012 15:04
Ciao, avrei bisognio di un aiuto per questo problema:
uso un foglio di calc \"fattura.ods\" (sia OO che LB) per fare le mie
fatture, quando emetto una fattura vorrei salvare, con un pulsante,
tutti i dati compresi nell'intervallo A13:i44 in un altro file calc
chiamato \"dati.ods\" nella cartella /home/fatture.
mi servirebbe una macro che:
1 copi i dati nell'intervallo A13:i44
2 apra il file dati.ods
3 incolli i dati a partire dalla colona A del foglio 1 accodandoli a
quelli precedenti (es. A1:i1 - A2:i10 ecc.) le righe non sono quasi
mai uguali ma le colonne si
4 salvi il file dati.ods e lo chiuda
ringrazio chi ha la pazienza e il tempo per aiutarmi.
Nicola
-----
Nessun virus nel messaggio.
Controllato da AVG - www.avg.com
Versione: 2012.0.1913 / Database dei virus: 2114/4857 - Data di rilascio:
07/03/2012
---------------------------------------------------------------------
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