1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
| 'http://www.trucsweb.com/tutoriels/asp/adodbstream/
'http://roger.neel.free.fr/langages/cours_htm/coursado/objet_stream.html
'------------------------------------------------------------------------------------------------
Sub Exemple()
'------------------------------------------------------------------------------------------------
' Création de l'entête personnalisée dans le fichier "Test.txt":
Call CreationEnTete("C:\Users\ott_l\Downloads\Test.txt", "Mon entête personnelle au format UTF_8")
' Fusion de plusieurs fichiers à ce fichier:
Call FusionTxt("C:\Users\ott_l\Downloads\Test.txt", "C:\Users\ott_l\Downloads\Fichier_A.txt")
Call FusionTxt("C:\Users\ott_l\Downloads\Test.txt", "C:\Users\ott_l\Downloads\Fichier_B.txt")
End Sub
'------------------------------------------------------------------------------------------------
Sub CreationEnTete(NouveauFichier As String, Entete As String)
'------------------------------------------------------------------------------------------------
Dim oStream As Object
Set oStream = CreateObject("ADODB.Stream")
With oStream
.Charset = "UTF-8"
.Open
.Type = 2 ' 1 = Binaire, 2 = Texte (valeur par défaut)
.WriteText Entete ' Ecriture de l'entête.
.SaveToFile NouveauFichier, 2 ' 1 = no overwrite, 2 = overwrite
.Close
End With
End Sub
'------------------------------------------------------------------------------------------------
Sub FusionTxt(NouveauFichier As String, FichierAjouter As String)
'------------------------------------------------------------------------------------------------
Dim oStream As Object, sTexte
Dim i As Integer
' Lecture du texte dans le fichier à ajouter:
Set oStream = CreateObject("ADODB.Stream")
With oStream
.Charset = "UTF-8"
.Open
.Type = 2 ' Pour information : 1 = Binaire, 2 = Texte (valeur par défaut)
.LineSeparator = -1 ' Pour information : Caractère séparateur de ligne, -1 = retour charriot et saut de ligne (par défaut)
.LoadFromFile FichierAjouter ' Charge le fichier a ajouter.
sTexte = .ReadText() ' Mémorise son contenu.
.Close
End With
' Recherche la première ligne (qui finit par retour charriot et saut de ligne)
' et saute cette première ligne:
i = InStr(1, sTexte, vbCrLf, vbBinaryCompare)
sTexte = Mid(sTexte, i + 2)
' Ouvre le nouveau fichier et ajoute ce texte à la suite du nouveau fichier:
Set oStream = CreateObject("ADODB.Stream")
With oStream
.Charset = "UTF-8"
.Open
.Type = 2 ' Pour information : 1 = Binaire, 2 = Texte (valeur par défaut)
.LineSeparator = -1 ' Pour information : Caractère séparateur de ligne, -1 = retour charriot et saut de ligne (par défaut)
.LoadFromFile NouveauFichier ' Charge le fichier.
sTexte = .ReadText() & vbCrLf & sTexte ' Ajoute à l'origine le texte du fichier a ajouter.
.Close ' Ferme le fichier, puis...
.Open ' l'ouvre à nouveau pour être au début du fichier.
.WriteText sTexte ' Ecrit le texte fusionné.
.SaveToFile NouveauFichier, 2 ' Sauvegarde en écrasant l'ancien contenu.
.Close
End With
End Sub
'------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------ |
Partager