CommonDialog

Geri
21 de Junio del 2004
Como puedo hacerlo en un CommonDialog para saber si el usuario ha aceptado o ha rechazado guardar un fichero. O sea, como puedo saber si el usuario ha pulsado el boton "Aceptar" o "Cancelar"? Es que aprietes el boton que aprietes, me guarda el fichero, y evidentemente, si el usuario cancela la acción, no deberia guardar nada...
Gracias

kaliman
21 de Junio del 2004
oks..

Private Sub Command1_Click()
Dim LsFileName As String
LsFileName = FileName(Me, "GUARDAR")
If LsFileName = "vbCancel" Then
MsgBox "Proceso Cancelado"
End If
End Sub

Public Function FileName(PoForm As Form, PsDefault As String) As String
On Error GoTo Cancelado
PoForm.CD1.CancelError = True
PoForm.CD1.Filter = "Texto (*.txt)|*.txt"
If PsDefault = "ABRIR" Then
PoForm.CD1.Action = 1
Else
PoForm.CD1.Action = 2
End If
FileName = IIf(Len(Trim$(PoForm.CD1.FileName)) = 0, PsDefault, PoForm.CD1.FileName)
PoForm.CD1.FileName = ""
Exit Function
Cancelado:
If Err.Number = 32755 Then
FileName = "vbCancel"
End If
End Function


Cuando oprimes cancelar se produce el numero de error.asi lo puedes controlar , LsFileName te dara el nombre completo del archivo con todo y su path.
CD1 es tu CommonDialog

salu2