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!
[Risolto] Tesserini personale con foto
[Risolto] Tesserini personale con foto
- 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
Windows 10
Re: Tesserini personale con foto
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
macOS 14.6.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Re: Tesserini personale con foto
.
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.
.
.
.
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
- Allegati
-
- Test - Macro - AggiornaFotoDeiTesserini.zip
- (185.98 KiB) Scaricato 10 volte
Re: Tesserini personale con foto
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
Windows 10