Esempio immagini di McGimpsey



  • Esempio immagini di McGimpsey
    di lucaferrolf data: 10/01/2013 14:06:23

    chi di voi mi sa dire se questa operazione è possibili due volte nello stesso foglio con due tabelle di fonte separate.

    Cioè vorrei nello stesso foglio poter fare apparire immagini differenti in caselle differenti.

    casella 1 immagine 1 pictable 1

    casella 2 immagine 2 pictable 2

    spero di essermi spiegato.

    grazie.
     
    =VLOOKUP(A2, PicTable, 2, False)
    
    Private Sub Worksheet_Calculate()
            Dim oPic As Picture
            Me.Pictures.Visible = False
            With Range("F1")
                For Each oPic In Me.Pictures
                    If oPic.Name = .Text Then
                        oPic.Visible = True
                        oPic.Top = .Top
                        oPic.Left = .Left
                        Exit For
                    End If
                Next oPic
            End With
        End Sub



  • di Vecchio Frac data: 10/01/2013 15:10:09

    Presumo che avrai bisogno di inserire tanti oggetti immagine (shapes?) quante sono le immagini che vuoi far comparire.





  • di lucaferrolf data: 10/01/2013 15:20:05

    SONO 5 O 6 IMMAGINI MA DIVERSE TRA LORO

    QUELLE DELLA CASELLA UNO SONO DIVERSE DA QUELLE DELLA CASELLA DUE, QUINDI NESSUN FILE UNIVOCO.

    GRAZIE.



  • di lucaferrolf data: 11/01/2013 08:25:44

    qualcuno mi aiuta ?!?



  • di lucaferrolf data: 11/01/2013 10:22:52

    VecchioFrac, mi hai abbandonato ?!?



  • di HarryBosch data: 11/01/2013 10:46:43

    Cosa vorresti fare esattamente?
    In base alla cella selezionata cambiare immagine sul foglio?



  • di lucaferrolf data: 11/01/2013 10:59:29

    diciamo che vorrei quello che gia fa adesso, su un foglio ho l'elenco e nell'altro mi compare l'immagine selezionata, però doppio cioè farlo con due elenchi di scelta e immagini diverse.

    quindi dal foglio 2 ho due elenchi a tendina dove seleziono il nome dell'immagine e sul foglio uno avere due celle dove compaiono le immagini selezionate dagli elenchi.

    grazie.



  • di HarryBosch data: 11/01/2013 11:13:59

    Io farei in questo modo:
    - preparo una cartella con le immagini che mi serviranno su Excel
    - nel foglio 1 inserisco due controlli immagini e nel foglio2 due elenchi a discesa (questa cosa mi sembra che già l'hai impostata)
    - l'elenco assumerà i nomi delle immagini presenti nelle cartelle (questa è la parte più "difficile")
    - inserisco un evento change: ogni volta che le due celle con gli elenchi cambiano, viene caricata la rispettiva immagine

    Ho già un file che fa la stessa cosa, ma non ce l'ho sotto mano. Te lo posso caricare nel pomeriggio così la valuti un attimo.



  • di lucaferrolf data: 11/01/2013 11:49:28

    certo ti ringrazio.



  • di Vecchio Frac data: 11/01/2013 14:40:19

    cit. " VecchioFrac, mi hai abbandonato ?!? "
    ---> Non ho fatto apposta, mi sono distratto a lavorare e poi mi è sfuggita di mano la discussione.
    Ma con HarryBosch sei in ottime mani :)





  • di lucaferrolf data: 11/01/2013 15:22:12

    ok, grazie.
    attendo infatti un suo file.




  • di HarryBosch data: 11/01/2013 18:53:01

    Ho trovato il file che intendevo; l'ho svuotato delle mie cose e adattato al tuo caso.
    Lo utilizzavo per la mia raccolta musicale ^_^

    Il funzionamento è questo:
    - serve una cartella dove inserire tutte le immagini (quelle che si vuole) che il file richiamerà;
    - bisogna indicare la directory di questa cartella: se apri il Modulo1, troverai la variabile
    "percorso" dove si deve modificare in base a quello del proprio pc;
    - ogni volta che attivi questa routine (Ctrl+a), si creano (aggiornano) due elenchi nelle celle A1 e B1 nel foglio1, in base a tutte le immagini contenute nella cartella (non tutte le estensioni sono supportate dal controllo Picture);
    - quando selezioni una immagine dall'elenco, nelle Pictures del foglio2 saranno visualizzate le relative immagini.

    E' inserito un foglio nascosto: in tale foglio vengono riportati tutti i nomi e le estensioni dei file elencati, nonché del percorso della cartella.

    Non so se ti serviva qualcosa di simile, ma eventualmente partiamo da questa base per arrivare al risultato voluto.
    Ti allego il file e la cartella con alcune immagini; ovviamente cancellale e inserisci le tue :)



  • di lucaferrolf data: 12/01/2013 08:53:15

    ok perfetto è quello che volevo, dovresti però spiegarmi come poter spostare le immagini nel foglio, per poterle mettere dove mi servono.

    le immagini che inserisco nella cartella "immagini" hanno delle particolari limitazioni ?!? Dimensione estensione ecc.ecc...

    grazie.



  • di lucaferrolf data: 12/01/2013 09:01:49

    ho provato il file ed è perfetto, volevo richiederti due modifiche:

    - Avere due elenchi che puntano a due cartelle differenti, elenco 1 cartella 1 , elenco 2 cartella 2.
    - poter modificare la posizione delle immagini nel foglio.
    - poter eliminare lo sfondo e contorno al riquadro che contiene l'immagine.

    grazie.



  • di HarryBosch data: 12/01/2013 12:55:01

    Bene, ho apportato alcune modifiche per i 3 punti che dicevi.
    Nell'ordine in cui li hai indicati:
    - i due elenchi puntano ora a due cartelle differenti: "Immagini1" e "Immagini2"; ovviamente puoi modificare il nome delle cartelle; in ogni caso dovrai sostituire il nome del percorso, questa volta per entrambe, nella Sub nomi_immagini() dove ti ho indicato i due percorsi. Ti ho indicato anche dove modificare le due celle che generano l'elenco delle immagini.
    - i due controlli Picture li puoi posizionare dove desideri: devi aprire in alto la scheda "Sviluppo" e premere il tasto "Modalità Progettazione"; ora puoi spostare i due controlli dove desideri, e ridimensionare il controllo stesso nel modo più opportuno. Al termine ripremi il pulsante "progettazione".
    - per il contorno l'ho tolto: bisogna agire sulle proprietà del controllo; ci si accede sempre attivando la modalità progettazione, tasto destro e proprietà: il riferimento è BorderStyle.
    Per quanto riguarda lo sfondo, dipende da come "adatti" l'immagine al controllo: le immagini potrebbero essere di dimensioni diverse. Sempre all'interno della finestra delle proprietà trovi la voce "PictureSizeMode": prova le 3 soluzioni per scoprire come si adatta la form (io preferisco sempre la modalità Stretch perché l'immagine si proporziona alle dimensioni del controllo).
    Puoi modificare queste caratteristiche anche via codice (vedi i commenti in verde nella Private Sub Worksheet_Change(ByVal Target As Range) che si trova nel modulo del Foglio1; ma se rimangono sempre quelle puoi farlo direttamente nelle proprietà.



  • di lucaferrolf data: 14/01/2013 09:20:29

    una volta inserite le immagini mi da errore in questa riga, è dovuto al nome file ?!?


    .Image1.Picture = LoadPicture(percorso & "" & nomefoto)



  • di HarryBosch data: 14/01/2013 09:43:45

    Se l'errore avviene in quel punto, quindi al caricamento dell'immagine, significa o che è sbagliato il percorso (e quindi non lo trova) oppure che una immagine con quel nome (nomefoto) non esiste in quel percorso.
    Ma la seconda ipotesi non può essere perché i due elenchi vengono determinati proprio in base ai file disponibili all'interno delle cartelle stesse.

    Dovresti riprovare a controllare il percorso di queste due cartelle: per essere sicuro, ti posizioni su una delle immagini inserite all'interno e selezioni le proprietà con il tasto destro.
    Eventualmente fammi sapere...



  • di lucaferrolf data: 14/01/2013 10:22:28

    sempre lo stesso errore



  • di lucaferrolf data: 14/01/2013 10:28:00

    ALLEGO IL FILE DI QUELLO CHE DOVREBBE ESSERE IL RISULTATO.



  • di lucaferrolf data: 14/01/2013 16:32:10

    tutto risolto, era un problema di immagini, ma non so spiegarti perchè, le ho rifatte e funzionano.

    GRAZIE MILLE.



  • di HarryBosch data: 15/01/2013 00:30:05

    Bene! infatti mi sembra che funzioni correttamente. Forse avevi inserito delle immagini con estensione .png che non sono supportate dal controllo PictureBox. Le immagini che puoi caricare devono avere l'estensione in .jpg .ipeg .gif e .wmf.

    Mi sono dimenticato di dirti che c'è una piccola routine anche nel modulo del "ThisWorkbook". Se lo apri dovresti modificare il nome del foglio con "Produzione", ovvero con quello che contiene le immagini.



  • di lucaferrolf data: 15/01/2013 09:22:48

    chiedo l'ennesimo chiarimento, quando apro la tendina dell'elenco immagini i testi mi compaiono molto piccoli, c'è modo di modificare la dmensione del carattere ?!?



  • di Vecchio Frac data: 15/01/2013 19:12:41

    Hai provato ad aumentare lo zoom della finestra?