Sauver fichier .Txt

papounez Messages postés 118 Date d'inscription samedi 16 juillet 2005 Statut Membre Dernière intervention 18 novembre 2008 - 3 août 2005 à 15:31
papounez Messages postés 118 Date d'inscription samedi 16 juillet 2005 Statut Membre Dernière intervention 18 novembre 2008 - 4 août 2005 à 10:20
Bonjour!
Comment savoir si mon fichier Existe
qelque soi son nom , nouveau ou existant, le message apparait

voici mon code
Private Sub O_Enregistrer_Click()
'ouvre la boite de dialog
O_sauve.FileName = ""


O_sauve.ShowSave
If O_sauve.FileName <> "" Then 'si le fichier existe
resultat = MsgBox(" le fichier existe déjà voulez- vous le remplacer ? ", vbYesNo)
If resultat = 6 Then
Open O_sauve.FileName For Output As #1
Print #1, O_FenetreText 'ecrit le textbox dans le fichier
Close #1
End If
End If
End Sub


merci
claude

9 réponses

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
3 août 2005 à 16:12
comme tu as mis le nom a blanc avant O_sauve.FileName restera à blanc si l'utilisateur a fait annuler

donc 1er test le nom est à blanc --> l'utilisateur a fait annuler

2éme test le nom n'est pas à blanc --> if Dir$(O_sauve.FileName) <> "" le fichier existe déjà.



autre solution, c'est de positionner le flag et laisser faire les choses:

CDial.Flags = cdlOFNOverwritePrompt


Daniel
0
apaulux Messages postés 73 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 2 octobre 2009
3 août 2005 à 21:04
http://multibases.site.voila.fr
FNum = FreeFile
Open O_sauve.FileName For Output As #FNum
Print #FNum, O_FenetreText 'ecrit le textbox dans le fichier
Close #FNum

[mailto:paul.ablasou@wanadoo.fr mailto:paul.ablasou@wanadoo.fr]
0
papounez Messages postés 118 Date d'inscription samedi 16 juillet 2005 Statut Membre Dernière intervention 18 novembre 2008
3 août 2005 à 22:30
merci
mais debutant vb6
il me faudrait plus d'expliquation
et un exemple merci
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
3 août 2005 à 22:48
remplace CDial par O_sauve









Private Sub Sauver()

CDial.InitDir = "c:\ton chemin" 'si nécessaire

CDial.Filter = "fichier texte(*.txt)|*.txt"

CDial.FilterIndex = 1

CDial.CancelError = True 'permet d'annuler

CDial.Flags = cdlOFNOverwritePrompt Or cdlOFNNoReadOnlyReturn

On Error GoTo Error

CDial.ShowSave

Open CDial.FileName For Binary As #1

Put #1, , O_FenetreText 'ecrit le textbox dans le fichier

Close #1

Exit Sub

Error:

If Err = 32755 Then Exit Sub

MsgBox Err.Description & " (" & Err & ")", vbExclamation, "Save Erreur"

End Sub

Daniel
0

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

Posez votre question
papounez Messages postés 118 Date d'inscription samedi 16 juillet 2005 Statut Membre Dernière intervention 18 novembre 2008
3 août 2005 à 23:42
Merci
exactement ce qui me faut
mais une erreur
Can't get or put an objet rfeerence variable ou une variable
of user-defini type containing an object reference
montexbox = O_FenetreText
Commondiallog = Cdial
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
3 août 2005 à 23:50
si O_FenetreText c'est le nom du TextBox faut mettre:

O_FenetreText.Text
c'est la propriété par défaut mais il le prend comme objet !


Daniel
0
papounez Messages postés 118 Date d'inscription samedi 16 juillet 2005 Statut Membre Dernière intervention 18 novembre 2008
4 août 2005 à 00:19
Ok super
ca marche
il suffit de rien pour que ca enerve
Ps: le message peut il etre personnalise
merci
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
4 août 2005 à 01:31
quel message ?

quand le fichier existe déjà c'est le système qui averti l'utilisateur à cause de la présence du flag dlOFNOverwritePrompt





sinon tu l'enlèves et tu met ton message toi même:



if Dir$(CDial.FileName) <> "" then
resultat = MsgBox(" le
fichier existe déjà voulez- vous le remplacer ? ", vbYesNo)

If resultat = vbNo Then Exit Sub

End If



'si le fichier existe vaut mieux ouvrir en Output et non pas en Binary

Open CDial.FileName For Output As #1

Print #1, O_FenetreText.Text

Close #1

Exit Sub



Error:

'celui là c'est quand l'utilisateur fait annuler

If Err = 32755 Then

MsgBox "Vous avez taper annuler"

Exit Sub

End If
'l'autre derrière ne doit jamais arriver


Daniel
0
papounez Messages postés 118 Date d'inscription samedi 16 juillet 2005 Statut Membre Dernière intervention 18 novembre 2008
4 août 2005 à 10:20
Ok super
Exellente Explication
pour le Fonctionnement
merci
0
Rejoignez-nous