Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Per caricare delle immagini in una userform

1,021 views
Skip to first unread message

Antonio

unread,
Sep 23, 2008, 6:48:02 PM9/23/08
to
Visto che ho risolto agevolmente (grazie al vostro aiuto) il problema
precedente della numerazione, provo con altro quesito per ostacolo che trovo
a caricare delle immagini come da titolo.
Avendo la cartella "Foto" contenenti tutte le immagini che voglio caricare
(stesso percorso del file)

Foto 0001.jpg
Foto 0002.jpg
Foto 0003.jpg
Foto 0004.jpg
Foto 0005.jpg
Foto 0006.jpg
Foto 0007.jpg
Foto 0008.jpg
eccetera ...

come faccio da userform a caricare la foto dove il nome viene riportato alla
textbox6 ?
Mi spiego meglio se da userform faccio ricerca in un database (campo di
ricerca textbox3) trovo i dati voluti che vengono caricati nella maschera,
tra cui il nome della foto alla textbox6, ad esempio "Foto 0006.jpg" (fin qui
il codice c'è l'ho) ora vorrei caricare la relativa foto in un campo
"Immagine" che ho sulla userform
E' possibile una cosa del genere? Grazie anticipatamente e un saluto a tutto
ng.

Ciao
Antonio

eliano

unread,
Sep 23, 2008, 7:06:01 PM9/23/08
to

"Antonio" ha scritto:

Adding a Hyperlink to a UserForm
http://www.j-walk.com/ss/excel/tips/tip71.htm

Antonio

unread,
Sep 23, 2008, 7:24:01 PM9/23/08
to

"eliano" ha scritto:

> Adding a Hyperlink to a UserForm
> http://www.j-walk.com/ss/excel/tips/tip71.htm

Grazie Eliano, interessante, non si finisce mai di imparare, ma non ho
capito come posso utilizzarlo per il mio scopo, se ho capito (con l'inglese
non sono una cima) posso inserire un collegamento ipertestuale su una
userform, quindi potrei collegarmi all'immagine tramite link ma dovrei farlo
ogni volta manualmente, giusto? fermo restando che come ipotesi non è da
scartare, mi confermi che vedere direttamente le immagini sull'userform non è
possibile? Grazie del suggerimento e buona notte.

Ciao
Antonio

eliano

unread,
Sep 23, 2008, 7:35:02 PM9/23/08
to

"Antonio" ha scritto:

Crerto che è possibile, ma adesso non posso che dirti vedi:
http://ennius.altervista.org/free/ifvba46.htm
Eliano

Antonio

unread,
Sep 23, 2008, 7:41:01 PM9/23/08
to

"eliano" ha scritto:

>
> Crerto che è possibile, ma adesso non posso che dirti vedi:
> http://ennius.altervista.org/free/ifvba46.htm
> Eliano

OK, grazie Eliano, domani ci provo, ora vado davvero a dormire, ciao buona
notte.

ciao
Antonio

eliano

unread,
Sep 23, 2008, 7:48:01 PM9/23/08
to

"Antonio" ha scritto:

Vado sempre di fretta.

by Fratello Mauro
Nella casella degli strumenti della UserForm seleziona:
Immagine
e disegna il controllo sulla form.
Vai nelle proprietà dell' oggetto
e seleziona: Picture
Fai click sul pulsantino e dalla finestra
di ricerca che compare gli fai vedere
dove si trova l'immagine da caricare.

Private Sub ComboBox1_Click()
oppure--> Private Sub UserForm_Activate()
Image1.Picture = LoadPicture("C:\tua_cartella\" & TextBox1.Text)
End Sub

Ciao
Eliano

Antonio

unread,
Sep 24, 2008, 7:47:01 AM9/24/08
to

"eliano" ha scritto:

> Vado sempre di fretta.
>
> by Fratello Mauro
> Nella casella degli strumenti della UserForm seleziona:
> Immagine
> e disegna il controllo sulla form.
> Vai nelle proprietà dell' oggetto
> e seleziona: Picture
> Fai click sul pulsantino e dalla finestra
> di ricerca che compare gli fai vedere
> dove si trova l'immagine da caricare.
>
> Private Sub ComboBox1_Click()
> oppure--> Private Sub UserForm_Activate()
> Image1.Picture = LoadPicture("C:\tua_cartella\" & TextBox1.Text)
> End Sub
>
> Ciao
> Eliano

Ho provato seguendo la procedura da te indicata, ma il codice qui sotto mi
dà errore

Private Sub UserForm_Activate()
Foto 0001.Picture = LoadPicture("C:\Users\Antonio\Prova programma
AA\Foto\" & TextBox6.Text)
End Sub

Grazie comunque, ora vedo di studiarmi attentamente l'articolo di ennius.
Ciao e grazie ancora.

Ciao
Antonio

Antonio

unread,
Sep 24, 2008, 8:56:00 AM9/24/08
to

"Antonio" ha scritto:

Scusami l'errore era dovuto al nome userform errato (una mia svista)
comunque anche se non mi dà errore non cambia la foto quando effettuo la
ricerca, in pratica rimane sempre l'immagine Foto 0001.jpg visualizzata. Ciao
e grazie.

Ciao
Antonio

Mauro Gamberini

unread,
Sep 24, 2008, 11:40:39 AM9/24/08
to
>> Private Sub UserForm_Activate()
>> Foto 0001.Picture = LoadPicture("C:\Users\Antonio\Prova programma
>> AA\Foto\" & TextBox6.Text)
>> End Sub
>>
>> Grazie comunque, ora vedo di studiarmi attentamente l'articolo di ennius.
>> Ciao e grazie ancora.
>>
>> Ciao
>> Antonio
>
> Scusami l'errore era dovuto al nome userform errato (una mia svista)
> comunque anche se non mi d� errore non cambia la foto quando effettuo la

> ricerca, in pratica rimane sempre l'immagine Foto 0001.jpg visualizzata.
> Ciao
> e grazie.
>


Io vedo l'Evento UserForm Activate.

Questo ti garantisco che, nome oggetti path e file corretti,
funziona:

Private Sub UserForm_Activate()
Call mCambiaImmagine("ImmagineIniziale.jpg")
End Sub

Private Sub CommandButton1_Click()
Dim s As String
s = TextBox1.Text
Call mCambiaImmagine(s)
End Sub

Public Sub mCambiaImmagine(ByVal s As String)

On Error GoTo RigaErrore

Dim sPath As String

sPath = "C:\tuaCartella\"
With Me.Image1
.Picture = LoadPicture(sPath & s)
End With
Exit Sub

RigaErrore:
MsgBox Err.Number & vbNewLine & Err.Description

End Sub


Il nome che inserisci nella TextBox vuole con l'estensione, es. tuoFile.jpg

--
---------------------------
Mauro Gamberini
http://www.riolab.org/


Antonio

unread,
Sep 25, 2008, 2:24:01 AM9/25/08
to

"Mauro Gamberini" ha scritto:

> >> Private Sub UserForm_Activate()
> >> Foto 0001.Picture = LoadPicture("C:\Users\Antonio\Prova programma
> >> AA\Foto\" & TextBox6.Text)
> >> End Sub
> >>
> >> Grazie comunque, ora vedo di studiarmi attentamente l'articolo di ennius.
> >> Ciao e grazie ancora.
> >>
> >> Ciao
> >> Antonio
> >
> > Scusami l'errore era dovuto al nome userform errato (una mia svista)

> > comunque anche se non mi dà errore non cambia la foto quando effettuo la

Ciao Maurizio e grazie dell'interessamento, ho provato con tuo codice ma mi
da sempre messaggio "76 Impossibile trovare il percorso"

In pratica io il seguente codice che mi effettua la ricerca dove ho aggiunto
le tue righe

'<----------
Private Sub CommandButton2_Click()
Dim y As Integer
Dim blnTrova As Boolean

Dim s As String '< riga aggiunta
s = TextBox1.Text '< riga aggiunta


blnTrova = False
y = 1
Do Until blnTrova = True Or y = 10000
If StrComp(Application.Range("C" & CStr(y)).Value _
, Me.TextBox3.Value _
, vbTextCompare) = 0 Then
TextBox1.Text = Range("A" & y)
TextBox2.Text = Range("B" & y)
TextBox4.Text = Range("D" & y)
TextBox5.Text = Range("E" & y)
TextBox6.Text = Range("F" & y)
blnTrova = True
End If
y = y + 1
Loop
If blnTrova = False Then
MsgBox "Titolo non trovato in elenco"
TextBox3.Text = ""
TextBox3.SetFocus
End If
Call mCambiaImmagine(s) '< riga aggiunta
End Sub

'<----------

mentre la seguente tua macro con percorso modificato


'<----------


Public Sub mCambiaImmagine(ByVal s As String)

On Error GoTo RigaErrore

Dim sPath As String

sPath = "C:\Users\Antonio\Prova programma AA\Foto\" '< Nome percorso


With Me.Image1
.Picture = LoadPicture(sPath & s)
End With
Exit Sub

RigaErrore:
MsgBox Err.Number & vbNewLine & Err.Description

End Sub

'<----------


più altro codice con nome prima foto

'<----------
Private Sub UserForm1_Activate()
Call mCambiaImmagine("Foto 0001.jpg") '< Nome prima foto
End Sub
'<----------

Non riesco a capire dove sbaglio (che tanto già lo sò che sbaglio io :-)) su
questo non ho dubbi. Grazie e buona giornata.

Ciao
Antonio

Mauro Gamberini

unread,
Sep 25, 2008, 3:28:19 AM9/25/08
to
> Ciao Maurizio
>

Un saluto a *Maurizio* anche da parte mia....

> e grazie dell'interessamento, ho provato con tuo codice ma mi
> da sempre messaggio "76 Impossibile trovare il percorso"
>

Quindi hai controllato che il percorso sia corretto?
Se quello è l'errore, quello è il motivo che lo scatena.

Perchè utilizzi *Prova programma* e non *ProvaProgramma*
(o Foto 0001 e non Foto0001 o Foto_0001) come nome
per files e cartelle? Mah....

Inoltre se gentilmente mi spieghi cosa dovremmo
fare con questo codice qui sotto, grazie:

> Do Until blnTrova = True Or y = 10000
> If StrComp(Application.Range("C" & CStr(y)).Value _
> , Me.TextBox3.Value _
> , vbTextCompare) = 0 Then
> TextBox1.Text = Range("A" & y)
> TextBox2.Text = Range("B" & y)
> TextBox4.Text = Range("D" & y)
> TextBox5.Text = Range("E" & y)
> TextBox6.Text = Range("F" & y)
> blnTrova = True
> End If
> y = y + 1
> Loop

--

Antonio

unread,
Sep 25, 2008, 2:46:08 PM9/25/08
to

"Mauro Gamberini" ha scritto:

> > Ciao Maurizio
> >
>
> Un saluto a *Maurizio* anche da parte mia....
>
> > e grazie dell'interessamento, ho provato con tuo codice ma mi
> > da sempre messaggio "76 Impossibile trovare il percorso"
> >
>
> Quindi hai controllato che il percorso sia corretto?
> Se quello è l'errore, quello è il motivo che lo scatena.

Si il percorso l'ho ottenuto tramite proprietà su file foto, comunque
ricontrollerò meglio

> Perchè utilizzi *Prova programma* e non *ProvaProgramma*
> (o Foto 0001 e non Foto0001 o Foto_0001) come nome
> per files e cartelle? Mah....

Sono solo nomi che ho utilizzato per fare delle prove, comunque ci sono
problemi per Vb in caso di nomi staccati?


> Inoltre se gentilmente mi spieghi cosa dovremmo
> fare con questo codice qui sotto, grazie:

> > Do Until blnTrova = True Or y = 10000
> > If StrComp(Application.Range("C" & CStr(y)).Value _
> > , Me.TextBox3.Value _
> > , vbTextCompare) = 0 Then
> > TextBox1.Text = Range("A" & y)
> > TextBox2.Text = Range("B" & y)
> > TextBox4.Text = Range("D" & y)
> > TextBox5.Text = Range("E" & y)
> > TextBox6.Text = Range("F" & y)
> > blnTrova = True
> > End If
> > y = y + 1
> > Loop

Niente ovviamente avevo postato intero codice dove inserivo le tue righe per
far vedere se eventualmente sbagliavo qualcosa. E' una macro che inserito un
nome nella textbox3 mi cerca nel foglio i relativi dati tra cui in nome
dell'immagine l'immagine. Grazie per la pazienza, e un saluto a tutti.

Ciao
Antonio

Mauro Gamberini

unread,
Sep 26, 2008, 3:10:07 AM9/26/08
to
>> Perchč utilizzi *Prova programma* e non *ProvaProgramma*

>> (o Foto 0001 e non Foto0001 o Foto_0001) come nome
>> per files e cartelle? Mah....
>
> Sono solo nomi che ho utilizzato per fare delle prove, comunque ci sono
> problemi per Vb in caso di nomi staccati?
>

Piů facili e meno problematici da gestire nell'insieme Excel/vb.

Antonio

unread,
Sep 26, 2008, 9:59:03 AM9/26/08
to

"Mauro Gamberini" ha scritto:

> >> Perchè utilizzi *Prova programma* e non *ProvaProgramma*


> >> (o Foto 0001 e non Foto0001 o Foto_0001) come nome
> >> per files e cartelle? Mah....
> >
> > Sono solo nomi che ho utilizzato per fare delle prove, comunque ci sono
> > problemi per Vb in caso di nomi staccati?
> >
>

> Più facili e meno problematici da gestire nell'insieme Excel/vb.


>
> --
> ---------------------------
> Mauro Gamberini
> http://www.riolab.org/
>

Ciao Maurizie e grazie del chiarimento.
In merito al tuo codice ho provato su un file nuovo e funziona, come
immaginavo c'era qualcosa che non andava sul mio file :-(( , ora con calma
partendo dal file funzionante adatto. Grazie infinite e alla prossima.

Ciao
Antonio

Mauro Gamberini

unread,
Sep 26, 2008, 10:04:36 AM9/26/08
to
> ho provato su un file nuovo e funziona
>

Bene.

> alla prossima
>

Siamo alle minacce... 8-)

Antonio

unread,
Sep 26, 2008, 10:29:01 AM9/26/08
to

"Mauro Gamberini" ha scritto:

> > ho provato su un file nuovo e funziona
> >
>
> Bene.
>
> > alla prossima
> >
>
> Siamo alle minacce... 8-)
>

Certo!!! Ci puoi contare, :-)) , altrimenti come faccio a risolvere i miei
problemi? Ciao e buona serata.

Ciao
Antonio

0 new messages