Helpmij.nl
Helpmij.nl
Helpmij.nl
Steun Helpmij.nl! Klik hier     Computerprobleem? Klik hier!

Quote

Pagina 1 van 2 1 2 LaatsteLaatste
Weergeven resultaten 1 tot 20 van 23

Onderwerp: Fout afvangen, hoe

  1. #1
    Vraag is opgelost

    Fout afvangen, hoe

    Ik heb een progje, als je deze in een map zet met afbeeldingen erbij en het progje start en via de ComboBox een naam kiest wordt deze afbeelding in een Frm_Picture afgebeeld.
    Echter wanneer deze afbeelding niet voorkomt in deze map dan stopt het programma.
    Hoe kan ik dit oplossen met een Msgbox "helaas bestaat deze afbeelding niet" en dat er een nieuwe keuze gemaakt kan worden.

    Zie hieronder de code:


    Klik op afbeelding voor grotere versie

Naam:  Afbeelding _Inlezen.PNG
Bekeken: 14
Grootte:  4,1 KB

  2. #2
    Mega Senior E v R's avatar
    Geregistreerd
    22 oktober 2008
    een mogelijkheid:

    Code:
    Function BestaatIe(pad As String, bestand As String) As Boolean
        Dim obj As Object
        Set obj = CreateObject("Scripting.FileSystemObject")
        BestaatIe = obj.fileExists(pad & "\" & bestand)
    End Function
    
    Private Sub ComboBox1_change()
        If BestaatIe(ThisWorkbook.Path, ComboBox1.Value & ".jpg") Then
            image1.picture = loadp..............
        Else
            'file bestaat niet
        End If
    
    End Sub
    Gr. Eric

  3. #3
    Quote Origineel gepost door E v R Bekijk Bericht
    een mogelijkheid:

    Code:
    Function BestaatIe(pad As String, bestand As String) As Boolean
        Dim obj As Object
        Set obj = CreateObject("Scripting.FileSystemObject")
        BestaatIe = obj.fileExists(pad & "\" & bestand)
    End Function
    
    Private Sub ComboBox1_change()
        If BestaatIe(ThisWorkbook.Path, ComboBox1.Value & ".jpg") Then
            image1.picture = loadp..............
        Else
            'file bestaat niet
        End If
    
    End Sub
    Eric

    Thx voor de hulp maar geeft een syntaxfout aan
    image1.picture = loadp..............

  4. #4
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    8 september 2000
    Locatie
    Zuid-Holland
    En dat heb je letterlijk zo overgenomen in plaats van je eigen LoadPicture opdracht er voor te gebruiken???
    Code:
    image1.picture = loadp..............
    "Hardware: The parts of a computer system that can be kicked. "
    Op rechtstreekse vragen via email reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  5. #5
    Mega Senior E v R's avatar
    Geregistreerd
    22 oktober 2008
    Had geen zin om jouw plaatje over te tikken
    Gr. Eric

  6. #6
    Quote Origineel gepost door edmoor Bekijk Bericht
    En dat heb je letterlijk zo overgenomen in plaats van je eigen LoadPicture opdracht er voor te gebruiken???
    Code:
    image1.picture = loadp..............
    klopt, sorry voor mijn onwetendheid.

    Nu staat er het volgende.
    Als ik nu een naam kies waarvan geen afbeelding aanwezig is dan blijft die bij elke afbeelding die ik kies de laaste afbeelding zien.
    Wellicht zal ik iets verkeerd doen.


    Function BestaatIe(pad As String, bestand As String) As Boolean
    Dim obj As Object
    Set obj = CreateObject("Scripting.FileSystemObject")
    BestaatIe = obj.fileExists(pad & "" & bestand)
    End Function

    Private Sub ComboBox1_change()
    If BestaatIe(ThisWorkbook.Path, ComboBox1.Value & ".jpg") Then
    Image1.Picture = LoadPicture(ThisWorkbook.Path & "" & ComboBox1.Value & ".jpg")
    Else
    'file bestaat niet
    End If

    End Sub

  7. #7
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    8 september 2000
    Locatie
    Zuid-Holland
    Als het bestand niet blijkt te bestaan doe je niets, dus logisch dat het actieve plaatje blijft staan.
    "Hardware: The parts of a computer system that can be kicked. "
    Op rechtstreekse vragen via email reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  8. #8
    Mega Senior E v R's avatar
    Geregistreerd
    22 oktober 2008
    Als je 'm dan weg wilt hebben:

    Code:
    Image1.Picture = LoadPicture("")
    op de plek van 'file bestaat niet
    Gr. Eric

  9. #9
    Quote Origineel gepost door E v R Bekijk Bericht
    Als je 'm dan weg wilt hebben:

    Code:
    Image1.Picture = LoadPicture("")
    op de plek van 'file bestaat niet
    Helaas werkt het niet
    Met deze code wordt er geen enkele afbeelding getoont.

    Code:
    Function BestaatIe(pad As String, bestand As String) As Boolean
    Dim obj As Object
    Set obj = CreateObject("Scripting.FileSystemObject")
    BestaatIe = obj.fileExists(pad & "\" & bestand)
    End Function
    
    Private Sub ComboBox1_change()
    If BestaatIe(ThisWorkbook.Path, ComboBox1.Value & ".jpg") Then
    Image1.Picture = LoadPicture(ThisWorkbook.Path & "\" & ComboBox1.Value & ".jpg")
    Else
    
    'file bestaat niet
    Image1.Picture = LoadPicture("")
    End If
    
    End Sub
    Laatst aangepast door ExcelTonnie : 18 mei 2018 om 08:00

  10. #10
    Giga Honourable Senior Member
    Verenigingslid

    Geregistreerd
    12 juni 2008
    Bijna 2 jaar lid en nog niet op de hoogte van

    http://www.helpmij.nl/forum/announcement.php?f=348

    Niet citeren/quoten
    Code tags gebruiken
    VBA voor smarties
    VBA is een taal die je moet leren met een grammatica- en een woordenboek.

    http://www.helpmij.nl/forum/announcement.php?f=5
    Plaats svp geen bestanden op andere sites; nadat het bestand daar verwijderd is wordt een forumdraad onbegrijpelijk voor anderen.

  11. #11
    Giga Honourable Senior Member
    Verenigingslid

    Geregistreerd
    12 juni 2008
    Hoe kan het bestaan dat niet bestaande afbeeldingen in een lijst van een Combobox staan ?

    Daar zit het probleem.

    Fouten moet je voorkomen, niet afvangen.
    VBA voor smarties
    VBA is een taal die je moet leren met een grammatica- en een woordenboek.

    http://www.helpmij.nl/forum/announcement.php?f=5
    Plaats svp geen bestanden op andere sites; nadat het bestand daar verwijderd is wordt een forumdraad onbegrijpelijk voor anderen.

  12. #12
    Mega Senior E v R's avatar
    Geregistreerd
    22 oktober 2008
    Je hebt een aantal \ niet overgetypt...
    Ben het volkomen eens met de laatste zin van snb (1e twee overigens ook )
    Gr. Eric

  13. #13
    Dit kan komen doordat mensen de afbeelding hebben verwijderd of dat de naam niet exact overeenkomt met de naam in de ComboBox

    En ja je hebt gelijk dat ik niet de regels ken, mijn excuses daarvoor en zal mij proberen erin te verdiepen

  14. #14
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    8 september 2000
    Locatie
    Zuid-Holland
    @Eric:
    Waarschijnlijk zijn die \ tekens wel ingetikt maar als je geen codetags gebruikt verdwijnen ze.
    Voor HTML is dat een escape character en moet je er 2 direct achter elkaar zetten om ze wel getoond te krijgen.

    Fout van TS, hij gebruik geen codetags.
    "Hardware: The parts of a computer system that can be kicked. "
    Op rechtstreekse vragen via email reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  15. #15
    Giga Honourable Senior Member
    Verenigingslid

    Geregistreerd
    12 juni 2008
    Dit kan komen doordat mensen de afbeelding hebben verwijderd of dat de naam niet exact overeenkomt met de naam in de ComboBox
    De combobox moet steeds opnieuw gevuld worden. Daar moet de controle plaatsvinden of een bestand bestaat.
    VBA voor smarties
    VBA is een taal die je moet leren met een grammatica- en een woordenboek.

    http://www.helpmij.nl/forum/announcement.php?f=5
    Plaats svp geen bestanden op andere sites; nadat het bestand daar verwijderd is wordt een forumdraad onbegrijpelijk voor anderen.

  16. #16
    Gisteren helaas geen tijd meer gehad.
    Excuses allen voor mijn onwetendheid en zal in het vervolg netjes de codes in code tags zetten.
    Ook zal ik het Quoten vermijden en kiezen voor + Reageer op het bericht.
    Jullie hebben volkomen gelijk hierin.

    De code tot dusver werkt prima alleen krijg nu geen melding wanneer de afbeelding niet bestaat maar laat gewoon niets zien.
    Ik kan wel weer verder naar een andere afbeelding kiezen.
    Is het ook mogelijk nadat ik in de ComboBox een afbeelding heb gekozen om deze box automatisch weer bovenaan te laten zien.
    Als ik nu bijvoorbeeld de onderste afbeelding in de box heb gekozen en wil opnieuw kiezen dan lijkt het dat er niet meer in de box zit alleen moet je dan naar boven scrollen.
    Hoop dat dit een duidelijk vraag is.
    Verder ben ik een ieder zeer dankbaar die hiermee een bijdrage heeft geleverd.
    Onderstaand de code zoals het weer gegeven moet worden hoop ik.




    Code:
    Function BestaatIe(pad As String, bestand As String) As Boolean
    Dim obj As Object
    Set obj = CreateObject("Scripting.FileSystemObject")
    BestaatIe = obj.fileExists(pad & "\" & bestand)
    End Function
    
    Private Sub ComboBox1_change()
    If BestaatIe(ThisWorkbook.Path, ComboBox1.Value & ".jpg") Then
    Image1.Picture = LoadPicture(ThisWorkbook.Path & "\" & ComboBox1.Value & ".jpg")
    Else
    Image1.Picture = LoadPicture("")
    End If
    'file bestaat niet
    End Sub

  17. #17
    inmiddels de melding kunnen realiseren wanneer er geen afbeelding bestaat of de namen niet overeenkomen.


    Code:
    Function BestaatIe(pad As String, bestand As String) As Boolean
    Dim obj As Object
    Set obj = CreateObject("Scripting.FileSystemObject")
    BestaatIe = obj.fileExists(pad & "\" & bestand)
    End Function
    
    Private Sub ComboBox1_change()
    If BestaatIe(ThisWorkbook.Path, ComboBox1.Value & ".jpg") Then
    Image1.Picture = LoadPicture(ThisWorkbook.Path & "\" & ComboBox1.Value & ".jpg")
    Else
    Image1.Picture = LoadPicture("")
    MsgBox "Deze afbeelding is niet aanwezig of de namen komen niet overeen"
    End If
    'file bestaat niet
    End Sub

  18. #18
    Mega Senior E v R's avatar
    Geregistreerd
    22 oktober 2008
    Quote Origineel gepost door ExcelTonnie Bekijk Bericht
    Is het ook mogelijk nadat ik in de ComboBox een afbeelding heb gekozen om deze box automatisch weer bovenaan te laten zien.
    Dan trigger je weer een Change en zal jouw plaatje weer veranderen, wellicht dan beter om het Click-event te gebruiken
    Gr. Eric

  19. #19
    Dan trigger je weer een Change en zal jouw plaatje weer veranderen, wellicht dan beter om het Click-event te gebruiken
    Zou je dit in een code kunnen omschrijven, ik begrijp wat je bedoelt maar hoe ik dit moet formuleren weet ik niet.
    Laatst aangepast door ExcelTonnie : 18 mei 2018 om 08:42

  20. #20
    Mega Senior E v R's avatar
    Geregistreerd
    22 oktober 2008
    vervang het woordje Change door Click
    en zet net voor End sub:
    ComboBox1.ListIndex = -1
    Gr. Eric

Pagina 1 van 2 1 2 LaatsteLaatste

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl en business

Partners
Sponsoren