[Risolto] Tesserini personale con foto

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
aleste
Messaggi: 5
Iscritto il: martedì 12 novembre 2024, 14:47

[Risolto] Tesserini personale con foto

Messaggio da aleste »

Buonasera, sono un nuovo iscritto al forum, ho bisogno di aiuto per un file che mi permetta di gestire dei tesserini con foto del personale.

Il file ha due fogli ed una cartella esterna:
- Foglio "DB TESSERINI" (nella colonna B tramite menù a discesa posso selezionare i tesserini da stampare)
- Foglio "STAMPA TESSERINI" (da questo foglio posso stampare 10 tesserini per pagina, posso scegliere la pagina da stampare tramite un campo di controllo, quindi pag.1 tesserini da 1 a 10, pag.2 tesserini da 11 a 20, e così via
- Cartella "FOTO" (che si trova nella stessa cartella in cui è contenuto il file, contenente un file chiamato 000.JPG e diverse foto nominate [codicefiscale].jpg, ovviamente i codici fiscali e le foto sono fittizie)

da tempo provo tramite guide/forum/video youtube ecc. a far aggiornare automaticamente le foto dei tesserini, con Excel, avendo un minimo di pratica in più, forse ci sarei riuscito, con Calc invece non so più dove sbattere la testa.

Pertanto, qualora qualche anima pia fosse disponibile ed avesse un po di tempo da perdere, avrei bisogno di aiuto per creare una macro che al variare della cella riportante il codice fiscale, sostituisca la foto attuale con la rispettiva foto [codicefiscale].jpg (il codice fiscale è riportato nella prima cella in alto sotto la foto, quindi celle A4, D4; A14; D14; A24; D24; A34; D34; A44; D44).
Inoltre, in caso di file [codicefiscale].jpg non trovato, dovrebbe inserire la foto 000.jpg

Allego il file e la cartella con alcune foto con codici fiscali fittizi, ripuliti da qualsiasi dato personale.
Spero di essermi spiegato bene, e che qualcuno abbia tempo e pazienza per potermi aiutare, Grazie!
Allegati
file tesserini+foto lavori in corso.zip
(180.1 KiB) Scaricato 12 volte
Ultima modifica di aleste il giovedì 14 novembre 2024, 8:55, modificato 2 volte in totale.
Libre Office 24.2
Windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8955
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Tesserini personale con foto

Messaggio da charlie »

Ciao, mi sembra che tu abbia dimenticato di mettere il file Calc.
charlie
macOS 14.6.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
aleste
Messaggi: 5
Iscritto il: martedì 12 novembre 2024, 14:47

Re: Tesserini personale con foto

Messaggio da aleste »

Provvedo subito a modificare grazie!
Libre Office 24.2
Windows 10
Avatar utente
lucky63
Volontario assiduo
Volontario assiduo
Messaggi: 3069
Iscritto il: martedì 18 maggio 2010, 17:01

Re: Tesserini personale con foto

Messaggio da lucky63 »

.
Note Varie:
- Sostituiti e ridimensionati i campi immagine lasciando visibile il CF per riscontro:
- Campi immagine con nome “immagine NR”;
- Macro collegata all'evento foglio “Formule calcolate”;
- Test cambio pagina cartellini OK.
.

Codice: Seleziona tutto

Sub AggiornaFotoDeiCartellini
Rem Link di riferimento: https://forum.openoffice.org/it/forum/viewtopic.php?t=12636

Doc = ThisComponent
Foglio = Doc.sheets.getByName("stampa tesserini")
'Ricavo l'URL del file nel computer in uso
Url = Doc.GetUrl()
' Ricavo l'URL SENZA il NOME del FILE
For X = Len(Url) To 1 Step -1
If InStr(X , Url , "/") <> 0 Then
PosizioneUltimaBarra = X
X=0
End If
Next
UrlSenzaNomeFile = Left(url , PosizioneUltimaBarra)
'Ricavo l'URL della cartella dei file immagine da gestire
UrlCartellaImmagini = UrlSenzaNomeFile & "foto/"
Rem identificazione del formulario dei controlli
Formulario = Foglio.drawpage.forms.getbyindex(0) ' Il primo formulario


ContatoreIMG = 0
REM ====== Inizio ciclo dei riscontri ==================================================Immagine = 0
For Riga = 4 to 44 step 10
ContatoreIMG = ContatoreIMG + 2

CellaCF1 = "A" & Riga 'Identifica la cella contenente il Codice fiscale Foto di Sinistra
CellaCF2 = "D" & Riga 'Identifica la cella contenente il Codice fiscale Foto di Destra

CF1 = Foglio.GetCellRangeByName(CellaCF1).String
If CF1="#N/D" then CF1 = "000"

CF2 = Foglio.GetCellRangeByName(CellaCF2).String
If CF2="#N/D" then CF2 = "000"

UrlCF1 = UrlCartellaImmagini & CF1 & ".jpg"
UrlCF2 = UrlCartellaImmagini & CF2 & ".jpg"

'Aggiorno immagine di sinistra
Controllo = Formulario.getbyName("immagine " & ContatoreIMG -1) 'Il controllo immagine con tale nome
Controllo.ImageURL = ConvertToURL(UrlCF1)
'Aggiorno immagine di destra
Controllo = Formulario.getbyName("immagine " & ContatoreIMG) 'Il controllo immagine con tale nome
Controllo.ImageURL = ConvertToURL(UrlCF2)
REM ====================================================================================
Next
End sub
.
Test - Macro - AggiornaFotoDeiTesserini.png
Test - Macro - AggiornaFotoDeiTesserini.png (68.23 KiB) Visto 126 volte
.
Allegati
Test - Macro - AggiornaFotoDeiTesserini.zip
(185.98 KiB) Scaricato 10 volte
aleste
Messaggi: 5
Iscritto il: martedì 12 novembre 2024, 14:47

Re: Tesserini personale con foto

Messaggio da aleste »

L'ho provato ora, é perfetto, grazie di cuore. Grazie anche per aver descritto i passaggi nella macro così provo a studiarla.
Libre Office 24.2
Windows 10
Rispondi