Sub rename(fichier_checked, fichier_old)
MsgBox("creation old!")
Set ofile = ofso.movefile (fichier_checked, fichier_old)
MsgBox("old cree!")
End Sub
Sub delete(fichier_old)
MsgBox("suppression old !")
Set ofile = ofso.DeleteFile(fichier_old)
MsgBox("old supprime")
End Sub
Sub create(fichier_new)
MsgBox("creation fichier !")
Set ofile = ofso.CreateTextFile(fichier_new)
MsgBox("txt cree !")
End Sub
'___________________________________________________________________________________________________________________
' Début code
'___________________________________________________________________________________________________________________
Molenn
Messages postés797Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention23 février 20117 4 janv. 2008 à 13:28
Personnellement, j'ai juste modifié un tout petit peu tes procédures, puisque le Set ofile = ... n'est pas utile, et j'ai modifié la syntaxe de la fonction .movefile qui n'était pas bonne (pas de parenthèses, contrairement à DeleteFile et CreatetextFile, oui je sais, c'est nul ^^), j'obtiens donc :
Sub rename(fichier_checked, fichier_old)
MsgBox("creation old!")
ofso.movefile fichier_checked, fichier_old
MsgBox("old cree!")
End Sub
Sub delete(fichier_old)
MsgBox("suppression old !")
ofso.DeleteFile(fichier_old)
MsgBox("old supprime")
End Sub
Sub create(fichier_new)
MsgBox("creation fichier !")
ofso.CreateTextFile(fichier_new)
MsgBox("txt cree !")
End Sub
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201826 15 janv. 2008 à 22:08
Bonsoir
Une autre possibilité.
Dim objFso, fichier_checked, fichier_old
Set objFso = CreateObject("Scripting.FileSystemObject")
fichier_checked = "c:\resultat_export.txt"
fichier_old = "c:\resultat_export.old"
'test si fichier_checked et fichier_old existent
If objFso.FileExists(fichier_checked) And _
objFso.FileExists(fichier_old) Then
MsgBox "les 2 fichiers existent"
'fichier_old existe
'copie overwrite de fichier_checked vers fichier_old
objFso.CopyFile fichier_checked, fichier_old, True
'Création overwrite de fichier_checked
objFso.CreateTextFile fichier_checked, True
ElseIf objFso.FileExists(fichier_checked) Then
MsgBox "seul fichier_checked existe"
'fichier_old n'existe pas
'fichier_checked existe
'Rename de fichier_checked en fichier_old
objFso.MoveFile fichier_checked, fichier_old
'Création fichier_checked
objFso.CreateTextFile fichier_checked
Else
'fichier_checked n'existe pas
'peu importe l'existence de fichier_old
MsgBox "fichier_checked n'existe pas"
End If
Set objFso = Nothing
Nota:
Si lancement 2 fois de suite ce script, les données sont perdues.
Pour ne pas recopier et renommer un fichier vide:
Dim objFso, fichier_checked, fichier_old
Set objFso = CreateObject("Scripting.FileSystemObject")
fichier_checked = "c:\resultat_export.txt"
fichier_old = "c:\resultat_export.old"
'test si fichier_checked et fichier_old existent
If objFso.FileExists(fichier_checked) And _
objFso.FileExists(fichier_old) Then
MsgBox "les 2 fichiers existent"
'les 2 fichiers existent
'si fichier_checked non vide
If objFso.GetFile(fichier_checked).Size <> 0 Then
MsgBox "fichier_checked non vide"
'copie overwrite de fichier_checked vers fichier_old
objFso.CopyFile fichier_checked, fichier_old, True
'Création overwrite de fichier_checked
objFso.CreateTextFile fichier_checked, True
Else
MsgBox "fichier_checked vide"
End if
ElseIf objFso.FileExists(fichier_checked) And _
objFso.GetFile(fichier_checked).Size <> 0 Then
MsgBox "seul fichier_checked existe et il n'est pas vide"
'fichier_old n'existe pas
'fichier_checked existe et n'est pas vide
'Rename de fichier_checked en fichier_old
objFso.MoveFile fichier_checked, fichier_old
'Création fichier_checked
objFso.CreateTextFile fichier_checked
Else
MsgBox "soit le fichier_checked n'existe pas, soit il est vide"
End If
Set objFso = Nothing