Avatar billede joggeren Nybegynder
18. august 2003 - 15:54 Der er 6 kommentarer og
1 løsning

Ignorer fejlbesked

Har denne modulkode:
Sub Makro3()


Dim x As Object
Dim FilNavn As String
    FilNavn = Worksheets("jytte").Range("A3").Value & ".bmp"
    Set x = Worksheets("jytte").Pictures.Insert("F:\EM\BITMAP\" & FilNavn)
    x.Top = Range("I8").Top
    x.Left = Range("I8").Left
End Sub


Hvis denne ikke finder et billede på den pågældende placering, melder den fejl. Hvis dette sker, skal den i stedet tage dette billede:

F:\EM\BITMAP\manglerbillede.bmp

Hvordan skal koden ændres?
Avatar billede jkrons Professor
18. august 2003 - 16:09 #1
Prøv med

Sub Makro3()
On Error Goto Errhand

Dim x As Object
Dim FilNavn As String
    FilNavn = Worksheets("jytte").Range("A3").Value & ".bmp"
    Set x = Worksheets("jytte").Pictures.Insert("F:\EM\BITMAP\" & FilNavn)
    x.Top = Range("I8").Top
    x.Left = Range("I8").Left

Exit sub
Errhand:
If Err.number = ????  Then'Det rigtige fejlnummer
FilNavn = Worksheets("jytte").Range("A3").Value & ".bmp"
    Set x = Worksheets("jytte").Pictures.Insert("F:\EM\BITMAP\manglerbillede.bmp")
    x.Top = Range("I8").Top
    x.Left = Range("I8").Left
end if

End Sub
Avatar billede jkrons Professor
18. august 2003 - 16:11 #2
Du skal erstatte spørgsmålstegnene med det rigtige fejlnummer. Måske 1004?
Avatar billede fobian Nybegynder
18. august 2003 - 16:19 #3
Du kan anvende DIR funktionen til at teste om filen findes inden du Set'er den lig med en fil.

Dir funktionen returnerer filnavnet, hvis den kan finde det på den angivne sti. Hvis ikke den findes returneres blot ""
Avatar billede aheiss Praktikant
18. august 2003 - 16:58 #4
Eller :

Sub Makro3()
Dim x As Object
Dim FilNavn As String
    FilNavn = Worksheets("jytte").Range("A3").Value & ".bmp"
With Application.FileSearch
    .LookIn = "F:\EM\BITMAP"
    .FileName = FilNavn
    .Execute
    If .Execute() > 0 Then
        Set x = Worksheets("jytte").Pictures.Insert("F:\EM\BITMAP\" & FilNavn)
        x.Top = Range("I8").Top
        x.Left = Range("I8").Left
    Else
        Set x = Worksheets("jytte").Pictures.Insert  _
                        ("F:\EM\BITMAP\manglerbillede.bmp")
        x.Top = Range("I8").Top
        x.Left = Range("I8").Left
    End If
End With
End Sub
Avatar billede zack Nybegynder
18. august 2003 - 17:27 #5
Kommer nok lige først til at kigge videre på det i morgen tidlig. Beklager..
Avatar billede joggeren Nybegynder
19. august 2003 - 08:43 #6
jkrons prøvede jeg ikke, men aheiss forslag virkede perfekt.
Avatar billede aheiss Praktikant
19. august 2003 - 09:09 #7
Jeg glemte vist at sende mit forslag som svar!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester