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

Rispondere a