[Risolto] controllo immagini e caricamento URL

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
Aluc
Messaggi: 24
Iscritto il: lunedì 12 luglio 2021, 12:12

[Risolto] controllo immagini e caricamento URL

Messaggio da Aluc »

Buongiorno,
Ho una colonna con circa 250 righe su ognuna c'è un codice che corrisponde ad un'immagine, tutte le immagini si trovano in una cartella (E:\FOTOGENERALE\), dovrei eseguire il controllo per verificare se nella cartella esiste l'immagine che corrisponde al codice e se esiste in automatico sostituire nella cella il codice con l'url dell'immagine corrispondente (esempio E:\FOTOGENERALE\40501.png) le estensioni possono variare le immagini possono essere jpg psd tiff o png.
Qualcuno può darmi un'aiuto? Non sono competente di macro non le ho mai utilizzate.
Grazie!
Ultima modifica di Aluc il mercoledì 14 luglio 2021, 12:39, modificato 1 volta in totale.
Avatar utente
lucky63
Volontario assiduo
Volontario assiduo
Messaggi: 2997
Iscritto il: martedì 18 maggio 2010, 17:01

Re: controllo immagini e caricamento URL

Messaggio da lucky63 »

Ciao e Benvenuto.

Codice: Seleziona tutto

Sub VerificaNomeFileConCodiceColonna
Rem Link quesito: https://forum.openoffice.org/it/forum/viewtopic.php?f=9&t=11297
Doc = ThisComponent
FoglioAttivo = Doc.CurrentController.ActiveSheet
Rem Ricordarsi che Cella A1 = Colonna0 Riga0
Rem Colonna di controllo (Adeguare secondo esigenza)
Colonna = 0
Rem Ultima riga del controllo (Adeguare secondo esigenza)
UltimaRiga = 300 

Rem Percorso delle immagini (Adeguare secondo esigenza e sistema operativo).
Percorso = "home/NomeUTENTE/Immagini/" 'Esempio Windows= "E:/FOTOGENERALE/
NomeFile = Dir("file:///" & Percorso, 0) '0=FileNormale 16=Cartella

Rem Ciclo di verifica per nome del file
Do while NomeFile <> ""
NomeFileSenzaEstensione = Left(Nomefile,Len(NomeFile)-4)
    Rem Ciclo di verifica per riga della colonna
    For Riga = 1 To UltimaRiga
    Cella = FoglioAttivo.GetCellByPosition(Colonna,Riga).String
      If NomeFileSenzaEstensione = Cella Then
      FoglioAttivo.GetCellByPosition(Colonna,Riga).String = Percorso & NomeFile
      End If
    Next
NomeFile = Dir
Loop 

End Sub
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8819
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: controllo immagini e caricamento URL

Messaggio da charlie »

Ciao e benvenuto/a sul forum.
Se intanto ti vuoi presentare, farai cosa gradita. Puoi farlo in questa sezione -> viewforum.php?f=16

L’utente che apre un quesito si impegna: In caso di inosservanza saremo costretti ad azioni di “richiamo”, sospensione o chiusura del profilo utente.

Buon proseguimento.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Aluc
Messaggi: 24
Iscritto il: lunedì 12 luglio 2021, 12:12

Re: controllo immagini e caricamento URL

Messaggio da Aluc »

Ciao e grazie per la tua risposta.
Non so se sbaglio qualcosa perchè non ho mai usato le macro, ho fatto nuova macro ho copiato il codice che mi hai scritto adeguando secondo esigenza poi ho fatto esegui macro e ricevo sempre un errore che per eseguire l'operazione è necessario un ambiente di runtime java JRE. Ho controllato in strumenti>opzioni>java e l'ambiente di runtive java è flaggato.
Devo installare componenti aggiuntivi?
La procedura che ho fatto di creazione ed esecuzione macro è corretta o sbaglio?
Grazie
Open Office4 .1.6
Windows 10
Avatar utente
lucky63
Volontario assiduo
Volontario assiduo
Messaggi: 2997
Iscritto il: martedì 18 maggio 2010, 17:01

Re: controllo immagini e caricamento URL

Messaggio da lucky63 »

.
Per quanto riguarda l’errore segnalato per prima cosa prova a resettare il profilo utente.
Vedi questo link.
E poi fai altri test.


Io ho provato la macro su computer con sistema operativo linux.
Inserita sia tra le macro personali di LibreOffice che di OpenOffice.
Eseguita da entrambi i programmi funzionava correttamente.

Macro integrata anche in un file di test provato con entrambi i programmi funzionava correttamente.
Allego il file per eventuali test.

Prima di avviare il file occorre assicurarsi che il livello di sicurezza per le macro sia impostato sul valore "Medio". Per farlo si procede sia in OpenOffice che in LibreOffice da:
Menu > Strumenti > Opzioni > Sicurezza > Sicurezza delle macro > Selezionare "Medio" e confermare.

Aprendo poi il file apparirà una finestrella di avviso in cui viene chiesto se abilitare le macro o meno.
In tale circostanza è necessario scegliere "abilita macro" per permetterne le funzionalità.

Ovviamente poi prima di avviare la macro va adeguato il “percorso” (come indicato anche nel codice della macro) e i codici da riscontrare nel range A2:A299 del Foglio1.
.
Allegati
Test - Macro - ControlloNomeFile_e_CaricamentoURL.ods
(12.09 KiB) Scaricato 57 volte
Aluc
Messaggi: 24
Iscritto il: lunedì 12 luglio 2021, 12:12

Re: controllo immagini e caricamento URL

Messaggio da Aluc »

Ho impostato la sicurezza come mi hai detto di fare, Openoffice dà ancora l'errore di java JRE, Libreoffice non dà nessun errore ma facendo esegui macro non succede niente. Certamente starò sbagliando qualcosa non essendo esperta, la macro dovrebbe agire da A2 ad A275 puoi verificare se sotto ho sostituito bene i valori?
Grazie.

REM ***** BASIC *****
Sub VerificaNomeFileConCodiceColonna
Rem Link quesito: viewtopic.php?f=9&t=11297
Doc = ThisComponent
FoglioAttivo = Doc.CurrentController.ActiveSheet
Rem Ricordarsi che Cella A1 = Colonna0 Riga0
Rem Colonna di controllo (Adeguare secondo esigenza)
Colonna = 1
Rem Ultima riga del controllo (Adeguare secondo esigenza)
UltimaRiga = 275

Rem Percorso delle immagini (Adeguare secondo esigenza e sistema operativo).
Percorso = "E:/FOTO GENERALE/" 'Esempio Windows= "E:/FOTOGENERALE/
NomeFile = Dir("file:///" & Percorso, 0) '0=FileNormale 16=Cartella

Rem Ciclo di verifica per nome del file
Do while NomeFile <> ""
NomeFileSenzaEstensione = Left(Nomefile,Len(NomeFile)-4)
Rem Ciclo di verifica per riga della colonna
For Riga = 2 To UltimaRiga
Cella = FoglioAttivo.GetCellByPosition(Colonna,Riga).String
If NomeFileSenzaEstensione = Cella Then
FoglioAttivo.GetCellByPosition(Colonna,Riga).String = Percorso & NomeFile
End If
Next
NomeFile = Dir
Loop

End Sub
Open Office4 .1.6
Windows 10
Avatar utente
lucky63
Volontario assiduo
Volontario assiduo
Messaggi: 2997
Iscritto il: martedì 18 maggio 2010, 17:01

Re: controllo immagini e caricamento URL

Messaggio da lucky63 »

Per Java / JRE ricordo che ci sono altri quesiti dove utenti segnalavano malfunzionamento in windows.
Puoi utilizzare la casella "Cerca" in alto a destra del forum per rintracciare i quesiti dove ne parlano e vedere se e come hanno risolto.
Valuta anche se provare a utilizzare un versione diversa/precedente e/o portabile.

Per quanto riguarda il codice noto solo che hai indicato il tuo percorso windows con uno spazio che separa le due parole FOTO e GENERALE quando invece nel quesito iniziale non era indicato (Sono due cose diverse).

Per quanto riguarda il parametro "UltimaRiga" devi indicare un numero uguale o superire al numero di righe da verificare.
.
Aluc
Messaggi: 24
Iscritto il: lunedì 12 luglio 2021, 12:12

Re: controllo immagini e caricamento URL

Messaggio da Aluc »

Ho letto già ieri prima di risponderti riguardo Java JRE sul forum, ho scaricato da Oracle nel link che tu stesso hai suggerito come risoluzione del problema ad altri, ho installato ma non è cambiato nulla.
Riguardo il percorso confermo che la cartella nel nome ha lo spazio e non posso cambiare il nome per ragioni di altri collegamenti che vengono ricercati in quel percorso da altri programmi, avevo capito era sufficiente mettere il proprio percorso corretto sostituendolo dove da te indicato indipendentemente dal nome della cartella, se lo spazio può essere un problema sarà quindi sicuramente quello.
Ti ringrazio comunque per la tua disponibilità anche se non è stata una soluzione per me può esserlo per altri che leggeranno in futuro.
Saluti
A.
Open Office4 .1.6
Windows 10
Avatar utente
lucky63
Volontario assiduo
Volontario assiduo
Messaggi: 2997
Iscritto il: martedì 18 maggio 2010, 17:01

Re: controllo immagini e caricamento URL

Messaggio da lucky63 »

Fai una prova con una cartella con nome unico tanto per vedere se hai il riscontro.

Attendiamo altri suggerimenti/risposte per quanto riguarda ambiente windows.

Per quanto riguarda "linux" sulla mia postazione funziona.

Esempio prima di avviare la macro:
Prima.png
Prima.png (10.8 KiB) Visto 1346 volte
e dopo la sua esecuzione:
Dopo.png
Dopo.png (13.17 KiB) Visto 1346 volte
Avatar utente
lucky63
Volontario assiduo
Volontario assiduo
Messaggi: 2997
Iscritto il: martedì 18 maggio 2010, 17:01

Re: controllo immagini e caricamento URL

Messaggio da lucky63 »

Ho rispolverato vecchia versione di Windows XP e con versione OpenOffice417Portabile ho testato il file adeguando il percorso della macro prima come "C:/PROVA/" e poi come "E:/PROVA FOTO/" e in entrambi i casi ha funzionato correttamente.
.
CatellaNomeUnicoDiscoC.png
CatellaNomeUnicoDiscoC.png (2.39 KiB) Visto 1342 volte
.
CatellaNomeConSpazioDiscoE.png
CatellaNomeConSpazioDiscoE.png (2.46 KiB) Visto 1342 volte
Visto le circostanze sarebbe gradita la conferma o meno del funzionamento della macro su "Linux - Windows - Mac" anche da parte di altri utenti?
Aluc
Messaggi: 24
Iscritto il: lunedì 12 luglio 2021, 12:12

Re: controllo immagini e caricamento URL

Messaggio da Aluc »

Ho visto le tue prove sopra che funzionano correttamente, ho provato a fare un nuovo file anch'io con poche righe e generato una cartella C:/foto/ ma a me non funziona lo stesso cioè quando premo esegui macro non succede niente.
Sicuramente è un problema dovuto alla configurazione dei miei Libre e Open office.
Il lavoro che dovevo fare l'ho già fatto manualmente perchè devo andare avanti, se qualcuno però avesse suggerimenti mi piacerebbe tentare di arrivare ad una soluzione perchè comunque è un lavoro che devo fare ciclicamente.
Grazie di nuovo!
Open Office4 .1.6
Windows 10
Avatar utente
lucky63
Volontario assiduo
Volontario assiduo
Messaggi: 2997
Iscritto il: martedì 18 maggio 2010, 17:01

Re: controllo immagini e caricamento URL

Messaggio da lucky63 »

Ti allego il file precedente con la macro che ha già il percorso aggiornato alla tua esigenza: "E:/FOTO GENERALE/"
Ho collegato la macro a un pulsante che ti basterà cliccare con il tasto Sx del mouse per mandarla in esecuzione.
Quindi riepilogando devi:
1- aver già impostato nel programma le opzioni di sicurezza macro su "Medio";
2- quando avvi il file ti deve apparire una finestrella che segnala la presenza di macro;
3- in tale contesto cliccare sul pulsante "Abilita macro";
4- mettere in colonna A qualche codice di cui sei certa essere presente il corrispondente file nella cartella del percorso;
5- cliccare con il tasto Sx del mouse sul pulsante azzurro "Esegui la macro".
Dovresti ottenere il riscontro voluto sui codici di verifica che avevi aggiunto.
Prova sia con OpenOffice che con LibreOffice.
Allegati
Test - Macro - ControlloNomeFile_e_CaricamentoURL-01.ods
(13.38 KiB) Scaricato 58 volte
Aluc
Messaggi: 24
Iscritto il: lunedì 12 luglio 2021, 12:12

Re: controllo immagini e caricamento URL

Messaggio da Aluc »

Ciao,
ti confermo che con il tuo nuovo file mi funziona sia con open office che con Libre office. Sai dirmi qual'era il problema?
Dovrò cambiare il percorso della cartella per ragioni di riservatezza perchè il percorso contiene il nome di un'azienda non ho potuto ne posso mettere qui il percorso completo che non è E:/FOTO GENERALE/ ma E:\XXXXXX-DRIVE\XXXXX FOTO GENERALE\ dove le X stanno appunto per il nome dell'azienda.
Posso cambiare io il nome percorso?
Grazie per tutto il tuoi aiuto!
A.
Open Office4 .1.6
Windows 10
Avatar utente
lucky63
Volontario assiduo
Volontario assiduo
Messaggi: 2997
Iscritto il: martedì 18 maggio 2010, 17:01

Re: controllo immagini e caricamento URL

Messaggio da lucky63 »

Aluc ha scritto:ti confermo che con il tuo nuovo file mi funziona sia con open office che con Libre office
Ok. Grazie del riscontro.
Aluc ha scritto:Sai dirmi qual'era il problema?
Probabilmente sbagliavi qualche passaggio per avviare la macro.

Nel file ho solo messo il percorso e collegato la macro al pulsante.
Se vuoi puoi anche provare ad avviare la macro direttamente dalla finestra del codice macro.
Ti deve dare il medesimo riscontro come cliccando sul pulsante azzurro.
Se non hai il riscontro è perché hai sbagliato qualche passaggio.

Per quanto riguarda il “percorso” puoi modificare il codice della macro indicando qualsiasi percorso valido del computer.
Consiglio di fare alcune prove iniziali con alcuni percorsi semplici tanto per prendere familiarità con le modifiche e assicurarti del funzionamento. Se non dovesse funzionare hai probabilmente sbagliato nei passaggi o nella trascrizione del percorso. E più il percorso da inserire è lungo e maggiori diventano le probabilità di una sua trascrizione errata.

Per come inserire il [Risolto] Vedi questo link.
.
Rispondi