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