VB - Utilisation de conditions & lecture dans un fichier texte

Résolu/Fermé
ozone_ Messages postés 1518 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 2 juin 2023 - 19 sept. 2015 à 16:24
ozone_ Messages postés 1518 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 2 juin 2023 - 19 sept. 2015 à 17:54
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)

A voir également:

2 réponses

ozone_ Messages postés 1518 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 2 juin 2023 478
19 sept. 2015 à 16:50
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
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 331
19 sept. 2015 à 16:53
Quel VB ? (VBS, VBA, VB6, VBNET, ... )
As-tu regardé les valeurs que ça te met ?
0
ozone_ Messages postés 1518 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 2 juin 2023 478
19 sept. 2015 à 17:54
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