Lire un fichier .txt sans Open For Input As

danielgrd Messages postés 47 Date d'inscription mercredi 15 janvier 2003 Statut Membre Dernière intervention 22 juin 2005 - 28 déc. 2004 à 18:30
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 28 déc. 2004 à 22:17
Bonjour,

Je recherche un code qui me permettrait de prendre le contenu d'un fichier .txt et le transférer dans une variable
SANS UTILISER LA COMMANDE 'OPEN filepath FOR INPUT AS etc...'

La raison est que cette commande lit un 'retour de chariot' à la fin du fichier... Mais je ne veux pas partir sur ce sujet...

J'ai déjà trouver une commande alternative (a la place de OPEN FOR OUTPUT AS) pour l'écriture :

Set FSys = CreateObject("Scripting.FileSystemObject")
Set MonFic = FSys.CreateTextFile("c:\f.txt")
With MonFic
.write hChaine
End With

JE CHERCHE : Une commande alternative à OPEN FOR INPUT AS

Merci d'avance

4 réponses

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
28 déc. 2004 à 18:45
Dim Buffer As String

Open Nomfichier For Binary As #1
Buffer = Space$(Lg)
Get #1, 1, Buffer
Close #1

"Open For Ouput" en Lecture ça n'ajoute pas de Ligne en aucune façon.

Daniel
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
28 déc. 2004 à 18:48
je voulais dire "Open For Input" bien sûr
comment est-ce que t'as écris ton fichier à la création ?
si tu as utilisé Print c'est normal il a ajouté une Ligne à la fin, donc quel que soit ta méthode de Lecture ta Ligne à blanc soit présente.

Daniel
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
28 déc. 2004 à 22:14
Salut,
Puisque tu utilises FileSystemObject, essaie ça :

Dim fso As Object
Dim ff As Object
Dim ts As Object
Dim s As String
Dim Chemin_Fichier As String

Chemin_Fichier = "C:\temp\essai.txt"
      
Set fso = CreateObject("Scripting.FileSystemObject")
      
If fso.FileExists(Chemin_Fichier) Then
Set ff = fso.GetFile(Chemin_Fichier)
Set ts = ff.OpenAsTextStream(1, 0)
s = ts.ReadAll
end if


Cordialement, CanisLupus
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
28 déc. 2004 à 22:17
Ne pas oublier de terminer par :

set fso = nothing
set ff = nothing
set ts = nothing

Cordialement, CanisLupus
0
Rejoignez-nous