Gestire immagini collegate
Outdated translations are marked like this.
TDF LibreOffice Document Liberation Project Blog comunitari Weblate Nextcloud Redmine Ask LibreOffice Donazione
Descrizione
Vorremmo gestire le immagini senza incorporarle nel database. Il vantaggio è che evita duplicazioni e soprattutto non aumenta la dimensione del database.
Questa funzione è accessibile senza macro (si veda Faq/Base/144). Vedremo qui che le proprietà interessate possono essere gestite tramite una macro. Il risultato desiderato è come mostrato:
- La Casella di testo in alto consente il recupero dell'immagine tramite un percorso file locale o un URL.
- Il pulsante Seleziona file "..." apre una finestra di dialogo per selezionare il percorso del file locale.
- La Casella di testo in basso consente di inserire un titolo per l'immagine.
- Il Controllo immagine consente di visualizzare l'immagine.
Possiamo realizzare quanto sopra tramite le due subroutine come mostrato di seguito.
Codice
In LibreOffice Basic:
Option Explicit
Sub display_image()
Dim oForm As Object
oForm = ThisComponent.DrawPage.Forms.getByName("Standard")
oForm.getByName("ImageControl").ImageURL = convertToUrl( oForm.getByName("textbox_ImageURL").Text )
End Sub ' display_image
Sub save_path(oEvent)
Dim oForm As Object
oForm = ThisComponent.DrawPage.Forms.getByName("Standard")
oForm.getByName("textbox_ImageURL").Text = oEvent.Source.Text
oForm.getByName("textbox_ImageURL").commit
display_image()
End Sub ' save_path
La subroutine display_image è associata ai seguenti eventi:
- Dopo una modifica nel salvataggio del modulo,
- Se il Controllo immagine riceve una focalizzazione.
La subroutine save_path è associata ai seguenti eventi:
- Perdita di messa a fuoco per una Casella di testo,
- Testo modificato dall'oggetto Seleziona file.