OpenAsTextStream: Format du fichier.
Fermé
Salut,
Sous VB, j'aimerai connaitre la différence entre les Formats d'ouverture d'un fichier: TristateUseDefault, TristateTrue, TristateFalse .
Je sais que le deuxième ouvre le fichier en Unicode et le troisième en mode ASCII.
Mais qu'est-ce que ça change d'ouvrir le fichier avec l'une ou l'autre option.
object.OpenAsTextStream([iomode,[Format]])
Merci.
Ciao.
Sous VB, j'aimerai connaitre la différence entre les Formats d'ouverture d'un fichier: TristateUseDefault, TristateTrue, TristateFalse .
Je sais que le deuxième ouvre le fichier en Unicode et le troisième en mode ASCII.
Mais qu'est-ce que ça change d'ouvrir le fichier avec l'une ou l'autre option.
object.OpenAsTextStream([iomode,[Format]])
Merci.
Ciao.
1 réponse
Comme vs devez sûrment le savoir les 'string' sont, en VBA (VB?), au format Unicode (2 octets/charcatère).
Si le format ASCII est spécifié (TristateFalse et TristateUseDefault), toute opération d'écriture échoue si la chaine contient des caractères Unicode non représentable en ASCII. (Prendre "ASCII" comme "ASCII étendu" [ASCII ANSI] et non comme ASCII pur.)
Dans ce cas-là une erreur d'éxécution (assez peu desccriptive) se produit:
Pour les opération de lecture je n'est pas testé, mais c'est sans aucun doute du même tonneau.
Bonne continuation
Laurent
Si le format ASCII est spécifié (TristateFalse et TristateUseDefault), toute opération d'écriture échoue si la chaine contient des caractères Unicode non représentable en ASCII. (Prendre "ASCII" comme "ASCII étendu" [ASCII ANSI] et non comme ASCII pur.)
Dans ce cas-là une erreur d'éxécution (assez peu desccriptive) se produit:
Set f = fs.GetFile("C:\temp.txt") Set ts = f.OpenAsTextStream(ForWriting, TristateUseDefault) ts.Write chaineAvecCaracteresNonAscii ' Write déclenche une err. 5, ' "Argument ou appel de procédure incorrect"
Pour les opération de lecture je n'est pas testé, mais c'est sans aucun doute du même tonneau.
Bonne continuation
Laurent