Enregistement fichier text

Résolu
Signaler
Messages postés
55
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
15 septembre 2006
-
Messages postés
55
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
15 septembre 2006
-
Salut,

Je n'arrive pas à enregistrer un fichier avec l'extension .txt.
Mon code est le suivant.

Open "c:" + ComputerName & ".txt" For Output As #li_NumFile

Le fichier est crée avec le bon nom, mais sans extension.

J-L

20 réponses

Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
31
Dim strComputerName As String

strComputerName = String(32, Chr$(0))

GetComputerName strComputerName, 32


strComputerName = Left$(strComputerName, InStr(strComputerName, Chr$(0)) - 1)

Daniel
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
328
Date d'inscription
mercredi 26 novembre 2003
Statut
Membre
Dernière intervention
24 novembre 2005

lu
pkoi un + et apres un & ?
Messages postés
328
Date d'inscription
mercredi 26 novembre 2003
Statut
Membre
Dernière intervention
24 novembre 2005

pense a bien fermer ton fichier aussi
Messages postés
205
Date d'inscription
samedi 22 janvier 2005
Statut
Membre
Dernière intervention
28 novembre 2005
2
Salut!

Un fichier ouvert en mode Append ou Output ne pourra être ouvert si et seulement si il es fermé.
Pour ouvrir un fichier sans se soucier de s'il es ouvert ou non tu peu utiliser les modes Binary, Input et Random.

Maintenant pour ton extension qui ne safiche pas peut être esce ton explorateur Windows qui ne les affiche pas (paramètre) sinon je sèche car chez moi ta ligne de code fonctionne sans problème.

A bientot
Messages postés
328
Date d'inscription
mercredi 26 novembre 2003
Statut
Membre
Dernière intervention
24 novembre 2005

lol je suis bien partant pr les options windows....

fabrice
Messages postés
55
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
15 septembre 2006

Ce n'est pas un pb d'option de windows.
Pour & et +, c'est un oubli de ma part.
Le code entier est :

Dim li_NumFile As Integer

Reset
li_NumFile = FreeFile
Open "c:" & strComputerName & ".txt" For Output As #li_NumFile
Print #li_NumFile, strComputerName, MacAddress, IP, lblLogin, lblContext
Close #li_NumFile
J-L
Messages postés
205
Date d'inscription
samedi 22 janvier 2005
Statut
Membre
Dernière intervention
28 novembre 2005
2
Je ne comprend pas ta syntaxe du print!

A quoi te serve MacAddress, IP, lblLogin, lblContext? tu n'en a pas besoin ! si?

Print #li_NumFile, strComputerName

est sufisent non?

au passage peut tu me donner ce que contient exactement strComputerName
Puis me dire si tu travail sur PC ou Mac

A tout
Messages postés
55
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
15 septembre 2006

Je récupère des informations tel que le nom de l'ordinateur, son IP, sa Mac adresse pour un inventaire du parc de mon boulot.
J'insere ces informations dans un fichier texte qui a pour nom "le nom de l'ordinateur.txt"

Pour strComputerName :

Dim strComputerName As String


strComputerName = String(15, Chr$(0))
GetComputerName strComputerName, 15
lblComputerName = "Computer Name: " & strComputerName

Je bosse sur PC
J-L
Messages postés
328
Date d'inscription
mercredi 26 novembre 2003
Statut
Membre
Dernière intervention
24 novembre 2005

si tu renomme ton fichier en txt tu as bien ttes tes infos?
Messages postés
55
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
15 septembre 2006

Tu veux dire si je l'ouvre avec notepad par exemple?
Alors oui, toute mes infos apparaissent.

J-L
Messages postés
147
Date d'inscription
mardi 12 octobre 2004
Statut
Membre
Dernière intervention
6 mars 2007

En en faisant un 'dir' dur fichier sous DOS quelle est la ligne affichée.
Messages postés
55
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
15 septembre 2006

De quelle ligne me parles-tu?

J-L
Messages postés
147
Date d'inscription
mardi 12 octobre 2004
Statut
Membre
Dernière intervention
6 mars 2007

Tu te places sous DOS dans le répertoire où se situe le fichier, puis tu entres "dir computername.*"
Tu vas alors avoir la liste des fichiers dont le nom est 'computername' avec un point et l'extension. Vois alors quelle est ton extension.
Messages postés
55
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
15 septembre 2006

Aucune extension n'apparait à coté du nom du fichier

J-L
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
31
enlève tous les chr$(0) en trop dans strComputerName

Daniel
Messages postés
147
Date d'inscription
mardi 12 octobre 2004
Statut
Membre
Dernière intervention
6 mars 2007

Et en faisant ça :
Open "c:\toto.txt" For Output As #1
Le fichier toto.txt existe bien à la racine du disque ?
Messages postés
55
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
15 septembre 2006

Et je le remplace par quoi?

J-L
Messages postés
55
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
15 septembre 2006

Ca marche, mais peux-tu m'expliquer quelle est la différence entre les 2 codes.

J-L
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
31
l'API ne peut pas changer la taille d'une chaîne, donc il reste des chr$(0) en trop derrière le nom
comme le chr$(0) marque la fin d'une chaîne, tout ce qui est derrirère n'est pas pris en compte, le ".txt" est donc ignoré.

Daniel
Messages postés
55
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
15 septembre 2006

Merci pour ton explication, et à toutes les personnes qui m'ont aidé pour ce problème.

J-L