Aprire un'immagine JPG dopo aver cliccato un codice

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
Pagine: [1], 2
Roberto B.
00lunedì 23 gennaio 2017 15:24
Buongiorno a tutti. Mi sono appena iscritto al Forum per chiedere il vostro aiuto di esperti.
Premetto che uso Excel 2010.
Ho un foglio Excel con delle macro ma vorrei aggiungerne altre che soddisfino queste esigenze:
Sotto una colonna del mio foglio Excel, in più righe, ho dei codici disegno. Sotto una cartella del server ho tutte le immagini .JPG dei miei disegni.
Il mio intento sarebbe quello di, cliccando sul singolo codice disegno nel foglio Excel, aprire in un programma o visualizzatore, l'immagine JPG corrispondente al codice cliccato, così visivamente capisco di quale oggetto " sto parlando ".
Ovviamente se successivamente clicco su un altro codice, visualizzare un'altra immagine, magari eliminando la precedente ( se possibile altrimenti non importa )
Grazie anticipatamente [SM=x423017]
Roberto B
alfrimpa
00lunedì 23 gennaio 2017 16:10
Roberto ma, come ti avevo detto in precedenza, non riesci a risolvere con il collegamenti ipertestuale?

Basta che ti posizioni sulla cella con il codice tasto dx del mouse scegli Collegamento ipertestuali e segui le istruzioni sino alla fine.

Se i codici sono molti, per evitare di fare tutto manualmente, si può creare una macro ma occorre un file di esempio.
Roberto B.
00lunedì 23 gennaio 2017 16:22
Grazie per rispondere.
Ora provo a seguire il tuo consiglio.
Scusa ma sono quasi un completo neofita e quel che faccio lo faccio da auto-didatta provando e chiedendo consigli.
Quanto mi suggerisci, non lo conosco.
Provo e vediamo, altrimenti invio un file di esempio.
[SM=g27811]
Roberto B.
00lunedì 23 gennaio 2017 16:37
Buongiorno Alfredo. Ho provato ma mi apre solo la cartella sotto il server dove c'è la mia immagine, ma non apre l'immagine stessa.
Altra cosa. Quando la lavorazione sarà eseguita, tramite una macro verrà cancellata l'intera riga e quindi anche il codice in questione.
Successivamente sulla stessa cella, verrà scritto un'altro codice.
Come potrei fare ?
Grazie ancora
Roberto B
Roberto B.
00lunedì 23 gennaio 2017 17:13
Rettifico sono riuscito a far aprire anche l'immagine, ma dovrei singolarmente ad ogni codice associare l'immagine e quando cancello il file rifare il lavoro !
Roberto B.
00martedì 24 gennaio 2017 08:36
Quello che serve,penso, sia un comando applicato alla cella che dica di "cercare" dentro la cartella del server, qualsiasi codice che scriverò all'interno di quella cella e una volta trovato di aprire l'immagine.
Mi potete aiutare cortesemente ? [SM=g27833]
Grazie
alfrimpa
00martedì 24 gennaio 2017 10:04
Ciao Roberto

Non so se ho interpretato bene la tua esigenza.

La macro che vedi qui "trasforma" tutti i codici in colonna B (da B4 sino all'ultimo presente) in collegamenti ipertestuali.

Ovviamente i file dei disegni devono essere denominati come i codici; la macro va modificata nel punto che ti ho indicato sostituendo "\Excel\" con il tuo percorso.

vb
Sub CreaCollegamentiIpertestuali()
Dim ur As Long
Dim rng As Range
Dim cel As Range
ur = Cells(Rows.Count, 2).End(xlUp).Row
Set rng = Range("b4:b" & ur)
For Each cel In rng
    ActiveSheet.Hyperlinks.Add Anchor:=cel, Address:= _
        "\Excel\" & cel.Value & ".pdf"  '<===== Modifica il percorso con il tuo
Next cel
End Sub
Roberto B.
00martedì 24 gennaio 2017 11:45
Grazie mille
Ho inserito la macro cliccando sull'icona "Visual Basic" e ho incollato il tuo operato.
Ho sostituito il percorso di dove si trova la cartella nel server e l'estensione. Le immagini sono .JPG ....
ma non funziona.
E' stato corretto copiare la macro dove ho già tutte le altre ?
Tutte le altre le ho registrate.
Allego una foto.
Grazie mille [SM=x423017]
Roberto

alfrimpa
00martedì 24 gennaio 2017 11:48
Prova a creare i collegamenti manualmente registrando la macro e poi vai a vedere nel codice come viene indicato il percorso.
Roberto B.
00martedì 24 gennaio 2017 15:49
Ho provato a creare la macro manualmente su di una cella e questo è il risultato:

Range("D18").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
"O:\ArcaEvolution\DisegniJPG\Archiviati\NS00001325.jpg", TextToDisplay:= _
"O:\ArcaEvolution\DisegniJPG\Archiviati\NS00001325.jpg"

E su quella cella, cliccando mi si apre l'immagine.
Ho provato a correggere il tuo comando seguendo questi accorgimenti ( avevo omesso di togliere una barra ) ma non accade nulla.
Sbaglio o quando la macro funzionerà, appena scriverò un codice in una cella vuota diventerà subito selezionabile ( passandoci sopra apparirà la "manima" ) e cliccando si aprirà l'immagine ?
Scusa la mia inesperienza ma mi affascina excel per l'infinità di cose che si possono fare.
Ho notato però che nel mio comando non c'erano delle lineette sulla sx mentre presenti nelle altre macro create manualmente.
Io ho preso la macro di sopra copiando le lineette ed ho modificato il titolo con quello del nuovo comando.
Può essere questo uno dei motivi che non funziona ?
Allego immagine della macro.
alfrimpa
00martedì 24 gennaio 2017 15:52
Purtroppo di più non saprei dire.

la macro sul mio pc funziona ma non ho la possibilità di testarla con altre unità.
Roberto B.
00martedì 24 gennaio 2017 15:55
Capisco Alfredo.
Un ultimo tentativo.
Cortesemente potresti inviarmi il tuo file excel
così lo verifico e provo ad elaborarlo adattandolo al mio ?
alfrimpa
00martedì 24 gennaio 2017 16:13
Credo sia inutile che ti invii il file (che è preso da altro forum) che peraltro è pressoché identico al tuo.

L'unica differenza è che io opero su C: mentre tu su un'altra unità; non so se sia questo il problema (anche se questo non dovrebbe essere).

Prova a mettere i .jpg in una cartella su C: e prova.

Ma tu che specifico messaggio di errore ricevi?
Roberto B.
00martedì 24 gennaio 2017 16:28
Sicuramente ho commesso io qualche errore !
Non mi appare nessuna scritta di errore.
Domanda fondamentale credo:
Ma la macro devo comunque crearla o copiandola all'interno del contenitore dove sono contenute le altre e modificando il percorso al server dovrebbe funzionare ?
E se dovessi registrarla, come faccio a dirgli " cerca l'immagine pari al codice scritto nella cella all'interno della mia cartella nel server" ?
Grazie mille Alfredo
alfrimpa
00martedì 24 gennaio 2017 17:45
La macro, così come è scritta, va messa in un modulo standard per cui credo che tu l'abbia posizionata correttamente; se questa non va in errore vuol dire che è scritta correttamente.

Fai questa prova

1) in un nuovo file scrivi 4/5 codici da B4 in poi
2) Crea una cartella in c: e denominale Disegni
3) Mettici i file .jpg

Esegui questa macro

vb
Sub CreaCollegamentiIpertestuali()
Dim ur As Long
Dim rng As Range
Dim cel As Range
ur = Cells(Rows.Count, 2).End(xlUp).Row
Set rng = Range("b4:b" & ur)
For Each cel In rng
    ActiveSheet.Hyperlinks.Add Anchor:=cel, Address:= _
        "\Disegni\" & cel.Value & ".pdf"  Next cel
End Sub


Dovrebbe funzionare.

Quanto al registratore di macro questo registra solo le operazioni effettuate manualmente per cui non è in grado di dichiarare variabili, inserire dei cicli etc. e e la mia macro contiene tali istruzioni.
Roberto B.
00mercoledì 25 gennaio 2017 11:01
Grazie Alfredo per la tua pazienza.
Ho creato una cartella " Disegni " sotto C ed inserito alcuni disegni in .JPG
Ho aperto un foglio nuovo ed ho copiato sotto " macro "
le tue istruzioni.
Mi dà errore
Domanda...nelle tue istruzioni c'è l'estensione .PDF io l'ho sostituito con .JPG perchè le mie immagini sono appunto in .jpg.
Non credo sia un problema.
Grazie ancora
Roberto
alfrimpa
00mercoledì 25 gennaio 2017 11:14
Scusa ho sbagliato io nel riportare la macro.

Il "Next cel" deve andare a capo così:

vb
Sub CreaCollegamentiIpertestuali()
Dim ur As Long
Dim rng As Range
Dim cel As Range
ur = Cells(Rows.Count, 2).End(xlUp).Row
Set rng = Range("b4:b" & ur)
For Each cel In rng
    ActiveSheet.Hyperlinks.Add Anchor:=cel, Address:= _
        "\Disegni\" & cel.Value & ".jpg"  
Next cel
End Sub


Nel caso avessi ancora problemi allega il tuo file con alcune immagini ".jpg"
Roberto B.
00mercoledì 25 gennaio 2017 11:26
Funzionaaaa
Ho cambiato anche il percorso facendolo puntare sotto il server
e le immagini si aprono benissimo [SM=x423026]
Unica domanda...come mai mi appaiono anche le scritte di tutto il percorso sopra il codice ?
Sarebbe possibile tenere solo il codice ?
Allego foto
Comunque GRAZIE MILLE ALFREDO [SM=x423017]
Roberto
Roberto B.
00mercoledì 25 gennaio 2017 11:48
Altra domanda:
Ho notato che quando scrivo un codice nuovo bisogna " eseguire " la macro.
E' possibile creare un pulsante che una volta scritti i nuovi codici, lo premo e mi fa " eseguire " la macro in automatico senza aprire le finestre per eseguire l'operazione manualmente ?
Perchè questo file Excel è usato da altri colleghi e non vorrei cancellassero la macro o facessero azioni non corrette.
Grazie mille
[SM=g27811]
alfrimpa
00mercoledì 25 gennaio 2017 11:50
Prova con questa macro lievemente modificata rispetto alla precedente

vb
Sub CreaCollegamentiIpertestuali()
Dim ur As Long
Dim rng As Range
Dim cel As Range
ur = Cells(Rows.Count, 2).End(xlUp).Row
Set rng = Range("b4:b" & ur)
For Each cel In rng
    ActiveSheet.Hyperlinks.Add Anchor:=cel, Address:= _
        "\Disegni\" & cel.Value & ".jpg",  TextToDisplay:=cel.Value 
Next cel
End Sub


Se non va non saprei che dire.
Roberto B.
00mercoledì 25 gennaio 2017 14:24
Mannaggia !
Con questa ultima macro, mi dà errore ! [SM=x423057]
Allego immagine
alfrimpa
00mercoledì 25 gennaio 2017 14:44
Mah è probabile che abbia commesso qualche errore; se non è un problema usa la precedente.

Scusa ma la discussione che hai aperto su Excelvba.it

http://www.excelvba.it/Forum/thread.php?f=1&t=11574

è la stessa di questa?
Roberto B.
00mercoledì 25 gennaio 2017 14:49
Si scusami è la stessa. Non la seguo più.
Un problemino ci sarebbe perchè le scritte andrebbero a coprire dati che dovrei poter leggere.
Si può fare niente ?
Roberto B.
00mercoledì 25 gennaio 2017 14:54
Per il pulsante, sono riuscito ad ottenere quello che volevo.
Gli ho assegnato la macro in questione e premendolo la fa " partire " automaticamente.
Basterebbe eliminare la visualizzazione del percorso e sarebbe fatta!
[SM=g27811]
alfrimpa
00mercoledì 25 gennaio 2017 14:56
Allega il tuo file con pochi codici e i relativi ".jpg"
Roberto B.
00mercoledì 25 gennaio 2017 15:07
Ho allegato il file Excel e i quattro .JPG
Incrocio le dita [SM=x423017]
Roberto
alfrimpa
00mercoledì 25 gennaio 2017 15:14
Devi allegare i file non immagini
Roberto B.
00mercoledì 25 gennaio 2017 15:25
io ho allegato i 4 file .jpg ( che sono immagini ) ed il file Excel dove stiamo testando la macro.
Cosa ho sbagliato ?
Forse cos'ì non hai la possibilità di ottenere il file ?
Vuoi che te li invii per mail ?
Roberto
alfrimpa
00mercoledì 25 gennaio 2017 16:01
No.

Crea una cartella mettici dentro il file di Excel e i ".jpg" zippala ed allegala sul forum.

Oppure puoi anche allegarli singolarmente.
Roberto B.
00mercoledì 25 gennaio 2017 16:17
Ok. Scusami.
Ora dovrebbe essere corretto
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 22:09.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com