plaatje laden in userform

Status
Niet open voor verdere reacties.

drubbus

Gebruiker
Lid geworden
20 feb 2013
Berichten
121
Ik wil graag een foto laden in een userform
Dit moet gebeuren met een variabele naam die ik ophaal uit een sheet

Het gekke is dat het alleen werkt als ik nog een afbeelding over de eerste moet plaatsen voordat de foto verschijnt
Als ik dan klik op het afbeelding vak van het "2e "plaatje verschijnt de foto pas

Wat ik wil is dat er helemaal niet op iets geklikt hoeft te worden maar de afbeelding gewoon opgehaald word als ik het userform open
Is dit mogelijk?


code:

Private Sub Image1_Click()
Dim foto As Variant
foto = "G:\Documents\foto\" & Sheets("start").Cells(1, 1) & ".bmp"
carloUserForm.Image1.Picture = LoadPicture(foto)
End Sub


ik gebruik overigens Excel 2010

Dank
Drubbus
 
Dat is niet zo vreemd omdat je de code uitvoert bij een klik op het userform. Gebruik die code in het event carloUserForm_Activate()

Dit is trouwens voldoende:

Code:
Private Sub carloUserForm_Activate()
    Me.Image1.Picture = LoadPicture("G:\Documents\foto\" & Sheets("start").Cells(1, 1) & ".bmp")
End Sub
 
Laatst bewerkt:
nog 1 vraagje

Als er nu gen foto in het bestand zit
kunnen we dit dan oplossen met een melding?
Nu komt er een foutmelding in beeld
Nu kan ik dit natuurlijk ondervangen door dummy foto's te plaatsen maar das best een klus
 
Met controle of de foto wel aanwezig is:

Code:
Private Sub carloUserForm_Activate()
    Dim Foto As String

    Foto = "G:\Documents\foto\" & Sheets("start").Cells(1, 1) & ".bmp"
    If Dir(Foto) <> "" Then
        Me.Image1.Picture = LoadPicture(Foto)
    Else
        MsgBox "Foto niet gevonden" & vbCrLf & Foto
    End If
End Sub
 
Dank voor je snelle reactie
Helaas werkt het niet bij mij
 
De code is goed, dus zal je moeten vertellen wat er dan wel gebeurd.

Edit:
Je hebt hem toch wel in het Userform zelf geplaatst?
Dit moet dan de naam van de routine zijn:
Private Sub UserForm_Activate()
 
Laatst bewerkt:
Sorry voor de late reactie maar ik ben een paar daagjes weg geweest

ik denk dat het komt onm dat er nog een stukje code staat in de Private Sub UserForm_Activate()

Gaat om het stukje Me.Caption = ActiveSheet.Range("DD8")
Deze heb ik nodig voor mijn button op het zelfde userform.
Code is nu dus als volgt:

Private Sub UserForm_Activate()

Me.Caption = ActiveSheet.Range("DD8")


Dim foto As Variant
foto = "H:\medewerkers_foto's_rooster\" & Sheets("medewerkers").Cells(4, 4) & ".jpg"
UserForm.Image1.Picture = LoadPicture(foto)
Else
MsgBox "Foto niet gevonden" & vbCrLf & foto
End If

End Sub


Als er een foto aanwezig is werkt de code wel
 
Laatst bewerkt:
De vorige code die ik plaatste is alles wat je nodig hebt, je hoeft dan alleen maar de juiste foto op te geven en die Me.Caption regel er bij in te zetten:

Code:
Private Sub UserForm_Activate()
    Dim Foto As String

    Me.Caption = ActiveSheet.Range("DD8")

    Foto = "H:\medewerkers_foto's_rooster\" & Sheets("medewerkers").Cells(4, 4) & ".jpg"
    If Dir(Foto) <> "" Then
        Me.Image1.Picture = LoadPicture(Foto)
    Else
        MsgBox "Foto niet gevonden" & vbCrLf & Foto
    End If
End Sub
 
Zet dan ook nog even alle VBA code tusen code-markeringen (code-tags)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan