ciao a tutti avrei bisogno di un piccolo aiutino. Ho una piccola applicazione che legge da una directory predefinita dei file e li allega a una mail, dopo di che li sposta in una cartella. I miei problemi sono questi:
se i file sono aperti (ad esempio in un pdf reader) gestisco l'errore tramite try e catch chiedendo all'utente se vuole chiudere il reader e riprovare a spostare il file ma come faccio a far ripartire il ciclo for each o devo rimettere la move nel catch ?
Secondo problema come distinguo un errore di file aperto da un errore di disco pieno a parte la stampa dei messaggi?
codice:
For Each filename As String In System.IO.Directory.GetFiles(directory_origine)
Try
Name = Path.GetFileName(filename)
destinazione = path_directory & "\" & Name
File.Move(filename, destinazione)
Catch Err As System.IO.IOException
msg = "E-mail inviata." & vbCrLf & vbCrLf & "Non è stato possibile spostare il file"
msg = msg & Err.Message & vbCrLf & vbCrLf & "chiudere il file e premere riprova per continuare" & vbCrLf & "o cancella per terminare il programma"
Dim risposta = MsgBox(msg, style)
If risposta = MsgBoxResult.Retry Then
...
Else
Application.Exit()
End If
End Try
Next