Bonjour,
je cherche à créer une class me permettant d'enregistrer, dans une archive ZIP, un fichier excel une fois modifié.

Tout est fonctionnel, cependant je n'arrive pas à surveiller mon fichier, j'utilise "FileSystemWatcher", je n'arrive pas à voir lorsque le fichier est modifié.

Je pense qu'il doit s'agir d'une erreur de frappe, cependant je n'arrive pas à la trouver.

Je vous transmet mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
public void verification(string lien)
{
         FileSystemWatcher watcher = new FileSystemWatcher();
         watcher.Path = lien;
         watcher.NotifyFilter = NotifyFilters.LastWrite;
         watcher.Filter = "*.xlsx";
         watcher.Changed += new FileSystemEventHandler(OnChanged);
         watcher.EnableRaisingEvents = true;
 
         Console.WriteLine("q pour arrêter la surveillance");
         while (Console.Read() != 'q') ;
}
"lien" correspond au dossier ou se trouve le fichier


Voici ma fonction "OnChanged " qui ajoute le fichier lorsque la modification est détecté.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
private void OnChanged(object source, FileSystemEventArgs e)
{
         Console.WriteLine($"Fichier: " + e.FullPath + " " + e.ChangeType);
         Ajoutzip(zip, fichier);
         Console.WriteLine("Ajout réussi");
}
"zip" correspond a l'endroit ou se trouve mon archive zip
"fichier" correspond a l'endroit ou se trouve mon fichier

Ces string sont déclaré plus haut donc au niveau de leur déclaration tout est bon.


Une dernière chose, serait-il possible d'enregistrer le fichier en arrière plan, même si celui ci est ouvert ?


Merci d'avance