Ciao Rosa,
Rosa Bellini ha scritto:
Ciao,
il mio problema:
ho bisogno di inserire dei grafici, contenuti in un documento .ods,
all'interno di un documento .odt, questi devono però potersi aggiornare.
Ho provato inserendo il grafico come OLE: ho collegato l'intero
documento .ods e poi ho “ristretto” la finestra della OLE fino a
visualizzare solamente il grafico desiderato.
Una volta salvato e riaperto il documento .odt OOo mi chiede di
aggiornare i collegamenti. Una volta cliccato sul Si nella OLE non si
visualizza più il grafico prescelto, ma un grafico qualsiasi posto
all'inizio della tabella.
Avete dei suggerimenti per rendere permanente la scelta della porzione
di tabella di Calc che si vuole visualizzare?
Dunque, sono riuscito a riprodurre il problema e purtroppo non ho
trovato una soluzione diretta.
In sostanza, il range di celle visualizzato e il fattore di zoom non
vengono memorizzati e, all'aggiornamento dei dati vengono usate delle
impostazioni di default.
Dovrebbe esistere una issue già aperta per questo problema, ma non sono
riuscito a trovarla.
In ogni caso posso proporti una soluzione alternativa:
Parto dal fatto che la tecnica di collegare un intero documento calc per
mostrare un grafico non mi piace molto anche se comprendo le ragioni.
In ogni caso, non sarebbe molto più elegante inserire solamente un
grafico anzichè un intero documento?
Chiaramente c'è il problema di collegare i dati in modo dinamico ma si
può risolvere con una semplice macro.
In sostanza la tecnica è questa.
1) prepara il grafico in un documento Calc
2) fai un copia incolla del grafico nel documento Writer di destinazione
A questo punto hai una copia "statica" del grafico. Per renderla
dinamica occorre una macro inserita nel documento Writer stesso e
collegata all'evento di apertura del documento (menu
strumenti->personalizza ... eccetera eccetera)
La macro (da adattare e perfezionare) è alla fine del post
Raccomando massima cautela.
Ciao
Paolo M
-----------------------------------------------
REM ***** BASIC *****
Sub OnDocumentOpen
nResult = MsgBox("Aggiornare i dati?", 1)
If nResult = 1 Then 'user pressed OK
Dim mArgs(0) As New com.sun.star.beans.PropertyValue
mArgs(0).Name = "Hidden"
mArgs(0).Value = True
sURL = "file:///home/paolo/grafico.ods"
oCalc = StarDesktop.loadComponentFromUrl(sURL, "_default", 0, mArgs())
oSrcChart = oCalc.Sheets(0).DrawPage(0)
mData = oSrcChart.Model.Data
oDestChart = ThisComponent.EmbeddedObjects(0).EmbeddedObject
oDestChart.attachData(mData)
oCalc.close(True)
End If
End Sub
---------------------------------------------------------------------
To unsubscribe, e-mail: utenti-unsubscr...@it.openoffice.org
For additional commands, e-mail: utenti-h...@it.openoffice.org