Lire fichier

damd Messages postés 121 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 8 août 2008 - 18 déc. 2002 à 09:11
jlouis37 Messages postés 5 Date d'inscription jeudi 17 octobre 2002 Statut Membre Dernière intervention 9 juillet 2003 - 18 déc. 2002 à 12:20
salut a tous

j'ai un probleme pour lire un fichier.
en fait je cherche a faire un enregistrez sous en lisant un fichier en entier et en l'ecrivant dans un autre.
j'ai fais :

dim ligne, fichierentier as string
open "fichier" for input as #1
while not eof(1)
line input#1, ligne
fichierentier = fichierentier + vbcrlf + ligne
wend
open "autrefichier" for output as #2
print#2, fichierentier

mais ca marche pas, j'obtient des retour chariot.
si quelqu'un a une idee ou connait un commande equivalente a enregistrer sous

merci

5 réponses

VicoLaChips2 Messages postés 436 Date d'inscription dimanche 20 janvier 2002 Statut Membre Dernière intervention 2 février 2010 2
18 déc. 2002 à 09:40
Bonjour -;)
Attention la méthode print te rajoute des guillemets...
Voila un exemple

Private Sub Form_Load()
CopyStream "e:\test.txt", "c:\momo.txt"
End Sub

Private Sub CopyStream(sSource As String, sDestination As String)
Dim stTmp As String
Open sSource For Input As #1
Open sDestination For Output As #2
Do While Not EOF(1)
Line Input #1, stTmp
Print #2, stTmp
Loop
Close #1
Close #2

End Sub
Je pense qu'il y a surement une méthode plus adapté pour copier un fichier d'un endroit à un autre... mais j'ai pas creuser la question. On peut utiliser l'objet Scripting.FileSystemObject mais bon...

Bon Courage @+
0
BasicInstinct Messages postés 1470 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 20 octobre 2014 12
18 déc. 2002 à 10:10
pour faire une copie de fichier, tu ne peux pas tout betement faire
shell "copy c:\toto.txt d:\toto_copy.txt"

:clown) BasicInstinct :clown)
0
VicoLaChips2 Messages postés 436 Date d'inscription dimanche 20 janvier 2002 Statut Membre Dernière intervention 2 février 2010 2
18 déc. 2002 à 10:37
-;)
Ton truc fonctionne pas !

ça oui :

FileCopy "e:\test.txt", "d:\jojo.txt"
@+, VIC
0
VicoLaChips2 Messages postés 436 Date d'inscription dimanche 20 janvier 2002 Statut Membre Dernière intervention 2 février 2010 2
18 déc. 2002 à 10:58
Encore moi...
Autrement pour utiliser la méthode Shell :
Shell "c:\windows\command.com /c copy e:\test.txt d:\new.txt", vbHide

Bien sur il faut pas être sous XP.. ou 2000 vue que
c:\windows\command.com n'existe pas

@+
0

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

Posez votre question
jlouis37 Messages postés 5 Date d'inscription jeudi 17 octobre 2002 Statut Membre Dernière intervention 9 juillet 2003
18 déc. 2002 à 12:20
salut,

Enfait, sous XP, il faut mettre c:\windows\system32\command.com

Comme VicoLaChips2 te l'a dit, si tu peux utiliser
Scripting.FileSystemObject --> c'est facile d'utilisation et c'est assez performant.

Aplus

JLouis
0
Rejoignez-nous