Bild in Userform automatisch einfügen

  • Excel

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von ThorStein83.

    Bild in Userform automatisch einfügen

    Und da hätten wir auch schon das nächste Problem.

    Ich würde gerne in einer Userform ein Teilnehmer-Bild darstellen. Die Userform beinhaltet eine Listbox und je nachdem welcher Eintrag, bzw. welcher User in der Listbox ausgewählt wird, soll sich das Bild entsprechend ändern.

    Das klappt auch.
    Allerdings wird eine Fehlermeldung erzeugt, wenn ein neuer Teilnehmer angelegt wurde und noch kein Bild dazu vorhanden ist. Hier hätte ich gerne, dass dann ein Platzhalter eingesetzt wird und zwar so lange, bis das richtige Bild vorhanden ist.

    Der Dateiname des Bildes wird automatisch anhand vom Nachnamen generiert.

    Ich habe es so versucht:

    Quellcode

    1. Sub ListBox1_click()
    2. Dim pfad As String
    3. Dim name As String
    4. Dim Geb_Dat As String
    5. Dim platzhalter As String
    6. Dim pfadplatzh As String
    7. Dim imagename As String
    8. pfad = ActiveWorkbook.Path & "\Bilder\"
    9. pfadplatzh = ActiveWorkbook.Path & "\Images\"
    10. name = Me.ListBox1.List(ListBox1.ListIndex, 0)
    11. imagename = name & ".jpg"
    12. platzhalter = "platzhalter.jpg"
    13. If Dir(pfad) <> "" Then
    14. Image1.Picture = LoadPicture(pfad & imagename) 'hier wird das Teilnehmerbild abgefragt
    15. Image1.PictureSizeMode = fmPictureSizeModeStretch
    16. Else
    17. Image1.Picture = LoadPicture(pfadplatzh & platzhalter) 'wenn das Teilnehmerbild nicht vorhanden, dann soll der Platzhalter eingesetzt werden
    18. Image1.PictureSizeMode = fmPictureSizeModeStretch
    19. End If
    20. End Sub


    Wenn ich das so ausführe, kommt ein Fehler, weil er das Teilnehmerbild nicht findet. Logisch, es ist ja auch noch keins da. Aber den Platzhalter setzt er trotzdem nicht ein.

    Wie immer:

    Vielen Dank für eure Hilfe!!!
    Du prüfst:

    Visual Basic-Quellcode

    1. If Dir(pfad) <> "" Then


    Den Pfad wird es ja sicher geben, da dort ja deine Bilder sind..
    Du solltest prüfen ob die Datei pfad & imagename existiert.
    Das ist meine Signatur und sie wird wunderbar sein!
    Ich glaub, Du hast Monos Antwort falsch gelesen. Sein Code ist keine Verbesserung, sondern der Ist-Zustand.
    Was Mono schrieb, ist: Du machst bisher mit Deinem Code eine Prüfung, ob das Verzeichnis der Bilder exisitert. Aber nicht, ob das Bild an sich exisitert. Und das gilt es zu verbessern. Was er auch schrieb.
    Da das Bildverzeichnis exisitert, wird natürlich nicht der Else-Zweig erreicht, eben weil Du nur das Verzeichnis, aber nicht den Pfad prüfst (Verzeichnis+Bilddateiname)

    btw: Deshalb sind Deine Variablennamen auch (ggf. für Dich selbst) verwirrend. Sie impflizieren für den Leser Inhalte, die sie nicht bieten. Ein Verzeichnis ist ein Ordner, ein Pfad ist eine Angabe aus Verzeichnis+Dateiname.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()