补充: 1。先判断文件存在 If Len(Dir$(FileName, vbArchive Or vbReadOnly Or vbSystem Or vbHidden)) = 0 Then Exit Function 2。再判断文件是否小于57byte,若真,什么不是图片。 If FileLen(FileName) < 57 Then Exit Function ' no image file/stream can be less than 57 bytes and still be an image If Err Then Err.Clear Exit Function End If 3。试试打开文件,若错误,说明文件有问题。 If Not FileName = vbNullString Then ' file name was passed
Dim FileNum As Integer On Error Resume Next
FileNum = FreeFile() ' attempt to open file with read access only Open FileName For Binary Access Read As #FileNum ' if successful, we will use it later If Err Then Close #FileNum Err.Clear Exit Function End If End If
2.如果LoadPicture报错,就当它损坏
可以根据文件结构自己判
-----------
如何判断图片是坏的呢?
1。先判断文件存在
If Len(Dir$(FileName, vbArchive Or vbReadOnly Or vbSystem Or vbHidden)) = 0 Then Exit Function
2。再判断文件是否小于57byte,若真,什么不是图片。
If FileLen(FileName) < 57 Then Exit Function
' no image file/stream can be less than 57 bytes and still be an image
If Err Then
Err.Clear
Exit Function
End If
3。试试打开文件,若错误,说明文件有问题。
If Not FileName = vbNullString Then ' file name was passed
Dim FileNum As Integer
On Error Resume Next
FileNum = FreeFile() ' attempt to open file with read access only
Open FileName For Binary Access Read As #FileNum
' if successful, we will use it later
If Err Then
Close #FileNum
Err.Clear
Exit Function
End If
End If