VB - Utilisation de conditions & lecture dans un fichier texte

Résolu
ozone_ Messages postés 1823 Statut Membre -  
ozone_ Messages postés 1823 Statut Membre -
Bonjour à tous !

J'essaie en vain de trouver un moyen pour que mon petit script ouvre un fichier texte, lise la date à l'intérieur et si cette date corespond à la date du jour alors d'effectuer la condition présente.
A savoir, à la fin du script, la date du jour va être mise dans le fichier texte et ceci est voulu ! C'est pour que la condition présente ne se lance qu'une fois par jour ! (ou du moins, que mon script ne se lance qu'une fois par jour.)

En ce moment, tout va très bien, sauf que la condition n'est comme pas lue !
Voilà mon code :

Const ForReading = 1, ForWriting = 2

Set WshShell = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
Dim fso, f, f_read

' Lis dans le fichier la date déjà présente
Set f_read = fso.OpenTextFile("Fct_UV.txt", ForReading)

' Si la date dans le fichier = date du jour alors ...
If f_read.readline = Date Then
	msgbox "Date du jour ! Pas de lancement"
Else
	msgbox "Nouvelle date ! Lancement..."
	'Suite du code à mettre ici, une fois que la condition fonctionnera !
End If

' A la fin de la condition, la date du jour se met dans le fichier pour n'effectuer le script une seule fois par jour.
Set f = fso.OpenTextFile("Fct_UV.txt", ForWriting,True)
f.write(Date)


--
1f u c4n r34d th1s u r34lly n33d t0 g37 l41d !

2 réponses

  1. ozone_ Messages postés 1823 Statut Membre 511
     
    Résolu !
    C'était un problème de format, je laisse la soluc' pour les autres !
    Const ForReading = 1, ForWriting = 2
    
    Set WshShell = WScript.CreateObject("WScript.Shell")
    Set fso = CreateObject("Scripting.FileSystemObject")
    Dim fso, f, f_read
    
    ' Lis dans le fichier la date déjà présente
    Set f_read = fso.OpenTextFile("Fct_UV.txt", ForReading)
    
    
    ' Si la date dans le fichier = date du jour alors ...
    If Date = CDate(f_read.readline) Then
    	msgbox "Date du jour ! Pas de lancement"
    	
    Else
    	msgbox "Nouvelle date ! Lancement..."
    	'Suite du code à mettre ici, une fois que la condition fonctionnera !
    End If
    
    f_read.close
    
    ' A la fin de la condition, la date du jour se met dans le fichier pour n'effectuer le script une seule fois par jour.
    Set f = fso.OpenTextFile("Fct_UV.txt", ForWriting,True)
    f.write(Date)
    f.close

    0
  2. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
     
    Quel VB ? (VBS, VBA, VB6, VBNET, ... )
    As-tu regardé les valeurs que ça te met ?
    0
    1. ozone_ Messages postés 1823 Statut Membre 511
       
      C'était du VBS !
      Ouais il voulait pas faire la comparaison entre un Date et un String ça lui allait pas !
      J'ai tout mis en format Date est s'est passé tout seul !
      0