magari e’ una domanda banale, in una struttura report, sarebbe possibile inserire un’immagine di
sfondo per poi poterci inserire dei controlli come il Label o Testo al di sopra dello sfondo stesso?
al momento sono riuscito a inserire un’immagine, ma mi funziona tipo una casella di controllo,
e quindi non mi fa portare le altre caselle al di sopra dell’immagine, esiste un altro metodo?
Only in English:
Start this macro from a button in a form.
st the name of the report in the macro.
Set the name for the image, which is positioned in the same path as the Base file.
Will set a background image for every page in the report and expands the image to the whole background.
SUB ReportStart
DIM oDoc AS OBJECT, oRepDoc AS OBJECT, oReport AS OBJECT
DIM stUrl_Start AS STRING, stUrl_Image AS STRING, stImage AS STRING, stPageName AS STRING
DIM loPageName AS LONG
DIM arPageStyles
oDoc = ThisDatabaseDocument
oRepDoc = oDoc.ReportDocuments
oReport = oRepDoc.getByName("Report1").open
stUrl_Start = oDoc.URL
stUrl_Start = Left(stUrl_Start, Len(stUrl_Start) - (Len(convertToUrl(oDoc.Title)) - 8))
stImage = "image.png"
stUrl_Image = convertToUrl(stUrl_Start & stImage)
arPageStyles = oReport.StyleFamilies.getByName("PageStyles").ElementNames
stPageName = arPageStyles(0)
loPageName = len(stPageName)
FOR i = 0 TO UBound(arPageStyles)
IF Left(arPageStyles(i), loPageName) = stPageName THEN
oReport.StyleFamilies.getByName("PageStyles").getByName(arPageStyles(i)).BackGraphicURL = stUrl_Image
oReport.StyleFamilies.getByName("PageStyles").getByName(arPageStyles(i)).FillBitmapStretch = True
END IF
NEXT
END SUB
Corrected “loPageName”
Corrected, so database name could also contain spaces.
First try without space in image name.
Then set IF… and END IF as comment. Might be I guessed the wrong style name for Italy.
Added convertToUrl in the original post. Might be it helps.
Here the image will be shown in the background without any problems…
Ho risolto, era il nome del file database il problema: non deve avere spazi.
Ora la tua macro funziona, spero sia gradita anche da @CappellaioMatto.
Grazie
Report è uno strumento limitato e pieno di bug che non sono mai stati risolti da quando è stato rilasciato la prima volta come plug-in e poi incorporato in LibreOffice.
Se può esserti utile puoi colorare lo sfondo impostandolo in Formato > Pagina.
Ok Charlie, lontana da me qualsiasi pretesa di prevaricazione. Ho eseguito con quello che Canonical mi ha messo a disposizione. Grazie comunque per la precisazione. Con osservanza.
@nicholas59 grazie per il suggerimento, inizialmente avevo inteso che dovevo utilizzare direttamente Writer, mi era sfuggito il fatto che creando un report col Wizard in pratica ti apre Writer
come appena menzionato, sono riuscito a replicare il risultato di @nicholas59 utilizzando il Wizard di Base per creare nuovi Report, non so se questa sia una vecchia funzione di OpenOffice ma spero che sia la procedura corretta?
comunque giocandoci un pochino, diciamo che sembra una matriosca:
in Base avvio il Wizard per i Report, e mi creo un Report con le impostazioni standard
e mi ritrovo con un Report che quando lo apro viene aperto con Writer
poi ho provato a modificare lo sfondo di questo Report aperto con Writer
e sono andato nel menu’ File > Templates > EditTemplate
dove posso scegliere quale immagine dargli come sfondo
ma con questa procedura poi mi apre il programma Draw
poi da questo punto non riesco piu’ ad andare avanti
perche’ se provo a salvare non mi salva i cambiamenti
in Writer del Report, mi salva un file indipendente di Draw
non so per nulla cosa sto facendo
i passaggi sono questi oppure sono fuori strada?
cerco di riepilogare i punti: apro Base, creo una Tabella, poi Wizard Report e lo collego alla Tabella,
ora clicco Edit sul Report creato e mi apre Writer, come faccio a modificare lo sfondo e salvare?