Código:
Private Sub CmdGuardar_Click()
On Error Resume Next
Dim Resp As String
With CommonDialog1
.CancelError = True 'Esto hará que VB devuelva un error al pulsar Cancelar
.FileName = "Nuevo Imagen de mapa de bits"
.Filter = "Archivos BMP|*.bmp|Archivos JPG|*.bmp|Todos|*.*"
.ShowSave
'Si no se ha producido ningún error, es que NO se ha pulsado Cancelar
If Err.Number = 0 Then
If .FileName <> "" Then
If ExisteArchivo(.FileName) Then
If MsgBox("El archivo ya existe," & vbCrLf & _
"¿desea sobreescribirlo?" _
, vbQuestion + vbYesNo) = vbYes Then _
SavePicture Picture1.Image, .FileName
Else
SavePicture Picture1.Image, .FileName
End If
End If
End If
End With
'-------------------------->> Control de Errores <<------------------------------
'Es buena costumbre volver a ponerlo a cero... así dejamos de detectar errores
Err = 0 'cancelamos el error/ 0 es que no hay error
On Local Error GoTo 0 'sirve si queremos dejar de detectar errores
End Sub
Public Function ExisteArchivo(Archivo As String) As Boolean
On Error Resume Next
ExisteArchivo = IIf(Dir$(Archivo) = "", False, True)
End Function
On Error Resume Next
Dim Resp As String
With CommonDialog1
.CancelError = True 'Esto hará que VB devuelva un error al pulsar Cancelar
.FileName = "Nuevo Imagen de mapa de bits"
.Filter = "Archivos BMP|*.bmp|Archivos JPG|*.bmp|Todos|*.*"
.ShowSave
'Si no se ha producido ningún error, es que NO se ha pulsado Cancelar
If Err.Number = 0 Then
If .FileName <> "" Then
If ExisteArchivo(.FileName) Then
If MsgBox("El archivo ya existe," & vbCrLf & _
"¿desea sobreescribirlo?" _
, vbQuestion + vbYesNo) = vbYes Then _
SavePicture Picture1.Image, .FileName
Else
SavePicture Picture1.Image, .FileName
End If
End If
End If
End With
'-------------------------->> Control de Errores <<------------------------------
'Es buena costumbre volver a ponerlo a cero... así dejamos de detectar errores
Err = 0 'cancelamos el error/ 0 es que no hay error
On Local Error GoTo 0 'sirve si queremos dejar de detectar errores
End Sub
Public Function ExisteArchivo(Archivo As String) As Boolean
On Error Resume Next
ExisteArchivo = IIf(Dir$(Archivo) = "", False, True)
End Function
¡S4lu2!