Hejsan. Jag har inget bra svar till dig men på felmeddelandet verkar det ju inte som att problemet ligger i den här koden eftersom felet säger att clip boarden ej kan öppnas. Lägg till felhantering som fångar felet istället och så kan du ju undersöka lite mer vad run-time error 521 betyder. Spånar lite snabbt Hej igen! Ahaaa där har Vi det gamla klassiska felet.Uppfattade inte att detSpara bild
Håller på med ett litet "printscreen" program där bilderna automatiskt ska sparas varje gång man trycker på ctrl>s. Problemet är att bilden sparas över varje gång man trycker. Gjorde därför detta test:
<code>
sparad = False
x = 0
While sparad = False
x = x + 1
If Dir("c:\screen_" & x & ".bmp") <> "" Then
Else
SavePicture Image1.Picture, "c:\screen_" & x & ".bmp"
sparad = True
End If
Wend
</code>
Där jag först kollar ifall bilden finns och isåfall lägger till en siffra i slutet. Men detta ger efter ett par tryck ett runtime error.
Någon som vet ett smidigare sätt, eller ser vad jag kan ha gjort för fel?
Tack på förhand.
MVH Niclas Åberg
<EDIT>
felmeddelandet:
run-time error "521":
can´t open clip board
</EDIT>Sv: Spara bild
/MariaSv:Spara bild
Det finns ett VB-kommando <b>ClipBoard.Clear</b> som du bör köra före ny lagring av bild.
Edit: En annan varint du kan prova är att ta hand om Error.
On Error Goto ClipError
ClipError:
ClipBoard.Clear
Resume Next
End Sub
Skrivet direkt ur minnet du får kolla principen.Sv: Spara bild
Tack för era svar. Förstår inte riktigt vad ni menar. Testade att lägga en clipboard.clear efter att jag har sparat. men det verkar bli samma fel. Sen måste det väl finnas ett smidigare sätt att kolla ifall en fil finns och isåfall ge den ett annat namn? När jag använder mig av mitt sätt blir ju programet segare och segare, eftersom det får loopa längre och längre.
Tack på förhand!
MVH Niclas ÅbergSv:Spara bild
var FileExsist som krånglade. Dir( ) funkar inte när filen ligger direkt under C:\ Rot
Gammalt känt fel.Överväg att lägga dina bilder i särskild mapp så löser det sig.
Inte speciellt bra att ha lösa filer direkt under C:
Vidare skall ClipBoard.Clear stå före du save :ar för att det skall göra nytta.
Verkar som det finns två fel dels c:\screen om filen redan finns och dels att
ClipBoard bråkar med dig av någon anledning.