Récupérer l'heure lors de l'envoi d'un fichier texte

manlaurent - 27 déc. 2012 à 19:28
 manlaurent - 28 déc. 2012 à 14:47
Bonsoir,
je voudrai récupérer l'heure lors de l'envoi d'un fichier .txt, je m'explique. J'ai fait un petit programme avec visual studio 2010 qui contrôle une machine a mesurer , a la fin de la mesure la machine envoi un fichier en .txt dans un répertoire. Je veux juste récupéré l'heure a laquelle il a été envoyé et le mettre sur une feuille excel. Mon problème est comment contrôler la venue de ce fichier, j'ai vu qu'il existe "FileSystemWatcher ", mais je sais pas comment m'y prendre
Merci de votre aide





Dim oExcel As Excel.Application
Dim oWk As Workbook
oExcel = CreateObject("Excel.Application")
oExcel.Visible = False

oWk = oExcel.Workbooks.Open("C:\envoicharge\envoicharge.xlsx")


controlfichier = Form1.Programme3DTextBox.Text
controlfichier = controlfichier & ".txt
repertoire = ("c:")
chemincomplet = (repertoire & controlfichier)



'vérifie si le fichier existe, si oui je récupère l'heure

If System.IO.File.Exists(chemincomplet) Then

oWk.Sheets(1).range("H1048576").End(Excel.XlDirection.xlUp).Offset(1, 0) = Hour(Now) & ":" & Minute(Now) & ":" & Second(Now)






oWk.Save()
oWk.Close()
oExcel.Quit()
oWk = Nothing
oExcel = Nothing






Else
MsgBox(" Mesure pas terminée ", vbInformation, "INFORMATION")

oWk.SaveAs()
oWk.Close()
oExcel.Quit()
oWk = Nothing
oExcel = Nothing



End If

Me.Close()

6 réponses

Utilisateur anonyme
27 déc. 2012 à 20:32
Bonsoir,

j'ai vu qu'il existe "FileSystemWatcher ", mais je sais pas comment m'y prendre

Voici un exemple simple de l'utilisation d'un FileSystemwatcher :
Option Strict On
Public Class Form1
    Dim FSW As New IO.FileSystemWatcher
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        FSW.Path = "c:\test"
        AddHandler FSW.Created, AddressOf FichierCree
        FSW.EnableRaisingEvents = true
    End Sub
    Private Sub FichierCree(ByVal sender As Object, ByVal e As IO.FileSystemEventArgs)
       'recuperation des donnees du fichier avec FileInfo
       Dim monfichier As New IO.FileInfo(e.FullPath)
        MessageBox.Show("un fichier vient d'etre cree :" & monfichier.CreationTime.ToLongDateString)
    End Sub
End Class
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
27 déc. 2012 à 21:30
Bonjour,
quelqu'un pour m'expliquer les raisons des instructions dans la clause Else ?

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
super, merci beaucoup
0
Bonjour Banana32,

votre exemple est super ,et ça ma beaucoup aider. j'ai un dernier petit souci, quant je fais tourner le programme plusieurs fois, j'ai le message ("un fichier vient d'etre cree")qui revient a double, triple, etc..
La première fois ça joue, et ensuite il se multiplie par le nombre de fois que je le fais tourner.

merci d'avance.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
28 déc. 2012 à 12:44
S'il s'agit de ne plus prendre en compte la création d'autres fichiers, il te suffit de jouer sur le déclenchement des événements (ou pas) en renseignant la propriété EnableRaisingEvents n'importe où dans le code :
FSW.EnableRaisingEvents false 'ou true
0
Encore un grand merci, et bonne année.
0
Rejoignez-nous