Om med CommonDialog har öppnat Show.Open eller Show.Save och i dessa klickar på avbryt kommer irriterande meddelanden. Hur fångar man upp avbryt så att inget annat händer än att fönstret stängs? Jag ser två lösningar på ditt problem. När man skall spara så kommer ett filnamn automatiskt i namnfältet (det som filen heter när man öppnade den). Om man då skriver CommonDialog1.FileName <> "" Then Jodå, det går att sätta ett tomt filnamn:Avbryt i CommonDialog
Sv: Avbryt i CommonDialog
1. Du använder cancelerror för att kontrollera om användaren trycker cancel
<code>
Private Sub Command1_Click()
On Error GoTo fixaFelet
CommonDialog1.CancelError = True
CommonDialog1.ShowOpen
'Gör det du ska här
MsgBox CommonDialog1.FileName
Exit Sub
fixaFelet:
If Err.Number = 32755 Then 'Ingen fil valdes
MsgBox "Du valde ingen fil"
Else 'om det skulle bli något annat fel....
MsgBox Err.Description & vbCrLf & Err.Number
End If
End Sub
</code>
2. Du kontrollerar om ett filnamn angavs (utan att använda CancelError)
<code>
Private Sub Command1_Click()
CommonDialog1.ShowOpen
If CommonDialog1.FileName <> "" Then
'Gör det du ska här om fil angavs
MsgBox CommonDialog1.FileName
Else
'Om ingen fil angavs, gör något annat....
MsgBox "Inget filnamn angavs"
End If
End Sub
</code>Sv: Avbryt i CommonDialog
så måste användaren först radera det namnet. Går det inte att få ett tomt namnfält från början?Sv: Avbryt i CommonDialog
<code>
Private Sub Command1_Click()
CommonDialog1.FileName = "" 'Sätter blankt filnamn
CommonDialog1.ShowSave
If CommonDialog1.FileName <> "" Then
'......
Else
'......
End If
End Sub
</code>