none
Supprimer un fichier servant de pièce jointe à un mail RRS feed

  • Discussion générale

  • Bonjour, j'ai un code me permettant d'envoyer un mail avec un fichier pdf en pièce jointe tous les matins à les collaborateurs.

    J'ai besoin de supprimer ce fichier tous les jours une fois envoyer. J'ai un code me permettant de le faire.

    Le soucis c'est que j'obtient un message s'erreur me disant que le fichier est utilisé par mon application et ne peu donc pas être supprimer.

    Comment faire?

     My.Computer.FileSystem.DeleteFile("C:\Users\Propriétaire\Dropbox\Abattoirs des Crêts\Gestion des stocks\Stock journalier.pdf",
                                              Microsoft.VisualBasic.FileIO.UIOption.AllDialogs,
                                              Microsoft.VisualBasic.FileIO.RecycleOption.SendToRecycleBin)

    Voici le code :

    mercredi 17 juin 2015 03:16

Toutes les réponses

  • Bonjour,

    Votre application doit certainement ouvrir le fichier sans le fermer => message d'erreur.

    Il doit manquer un appel à Dispose quelque part ou vous utilisez ce fichier


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    mercredi 17 juin 2015 06:23
  • Merci de votre réponse je vous joint le code complet se sera peut être plus simple

        Dim MyMailmessage As New MailMessage()
            Dim SMTP As New SmtpClient("mon serveur")
            MyMailmessage.From = New MailAddress("mon adresse mail")
            MyMailmessage.To.Add("destinataire")
        
            MyMailmessage.Subject = ("Stock congelés au " & Today.AddDays(-1))
            MyMailmessage.Body = ("Bonjour,ci-joint le stock congelés au " & Today.AddDays(-1))
            SMTP.Port = 587
            SMTP.Credentials = New System.Net.NetworkCredential("mon adresse mail", "mon mot de passe")
            SMTP.EnableSsl = True
            Dim data As New Net.Mail.Attachment("C:\Users\Propriétaire\Dropbox\Abattoirs des Crêts\Gestion des stocks\Stock journalier.pdf")
            MyMailmessage.Attachments.Add(data)
            Try
                SMTP.Send(MyMailmessage)
                MsgBox("Message envoyé", vbOKOnly, "Confirmation d'envoi")
            Catch ex As Exception
                Select Case MsgBox("Echec de l'envois du message", vbOKOnly, "Erreur")
                    Case MsgBoxResult.Ok
    
                End Select
    
            End Try
            My.Computer.FileSystem.DeleteFile("C:\Users\Propriétaire\Dropbox\Abattoirs des Crêts\Gestion des stocks\Stock journalier.pdf",
                                              Microsoft.VisualBasic.FileIO.UIOption.AllDialogs,
                                              Microsoft.VisualBasic.FileIO.RecycleOption.SendToRecycleBin)

    mercredi 17 juin 2015 16:08
  • Bonjour,

    Il faut commencer par envoyer le message, et ensuite depuis une autre application effacer le fichier, une fois le processus fermé.

    Si c'est plus facile l'application peut écrire un batch, qui sera exécuté au bon moment.

    mardi 14 juillet 2015 13:32