Immagini



  • Immagini
    di Simper (utente non iscritto) data: 15/10/2012 16:18:57

    Ciao a tutti, ho un problema di cui nn riesco a trovare una soluzione:
    Problema: ho un foglio xl su cui ho inserito alcune immagini (devono essere interne e non su filesystem). Su una user form ho inserito 3 bottoni e un controllo immagine. Le immagini devono essere visualizzate in funzione del bottone selezionato, ad esempio cliccando sul bottone 1 devo visualizzare l'immagine 1, se clicco sul 2 visualizzo la seconda e cosi via.
    Ho provato ad utilizzare Shapes e loadpicture ma non riesco ad ottenere niente di buono. Sapreste darmi qualche dritta??



  • di Vecchio Frac data: 15/10/2012 17:46:59

    L'istruzione corretta è questa:

    Image1.Picture = LoadPicture("nome_del_file_immagine_completo_di_percorso")





  • di Simper (utente non iscritto) data: 16/10/2012 09:25:48

    si infatti è l'istruzione che ho provato ma il problem è "nome_del_file_immagine_completo_di_percorso". Come specificare che l'immagine è la fig1 ovvero un oggetto embedded del foglio1?



  • di Smper (utente non iscritto) data: 16/10/2012 10:35:32

    Alla fine ci sono risucito!
     
    Private Sub OptionButton2_Click()
    c01 = ThisWorkbook.Path & "54.jpg"
    
     With Sheets("PLUTO").Shapes(1)
      .CopyPicture
      With Sheets("PLUTO").ChartObjects.Add(, , .Width, .Height).Chart
       .Paste
       .Export c01, "JPG"
       .Parent.Delete
      End With
     End With
     
    Immagine.Picture = LoadPicture(c01)
    End Sub



  • di Vecchio Frac data: 16/10/2012 10:58:24

    Una cosa più semplice, senza usare il copia incolla ed evitando accrocchi strani:

    Me.Image1.Picture = ActiveSheet.Image1.Picture

    dove Me.Image1 si riferisce al nome del controllo Immagine nel tuo Userform.

    (ho smanettato fino adesso per cercare una soluzione semplice ^_^)





  • di Simper (utente non iscritto) data: 16/10/2012 13:17:12

    Molto più semplice la tua soluzione, ho provato ad applicarla ma ottengo un errore
    "Object doesn't support this property or method (Error 438)".
    Quando in
    Me.Immagine.Picture = ActiveSheet.Image1.Picture
    usi Image1 sta indicando il nome o il riferimento dell'immagine?



  • di Vecchio Frac data: 16/10/2012 14:47:10

    Tu avevi parlato di oggetto embedded nel foglio, così ho aperto la barra "strumenti di controllo", ho inserito un controllo immagine nel foglio, ho aperto un file di immagine (l'oggetto ha adesso nome Image1), quindi ho creato uno userform, ci ho inserito un controllo immagine (che ha nome predefinito Image1) quindi nel suo evento Initialize ho incollato il codice di poco fa. I due controlli immagine casualmente hanno lo stesso nome.
    E funziona tutto perfettamente.
    Ora che mi riporti questo errore (ho verificato che): tu non immetti un'immagine nel foglio in u controllo immagine, ma fai semplicemente "Inserisci immagine", sicché non è un oggetto OLE embedded... è una semplice Shape del foglio :)
    Quindi mi rimetto al lavoro... magari si può usare lo stesso trucco :)