Rajouter des lignes dans un csv sans l'écraser
Bonjour,
j'aimerai récupérer pour chaque mail d'un dossier son sujet et sa date de réception et l'enregistrer dans un fichier .csv
J'y arrive à l'aide du code ci dessous, cependant si je l’exécute plusieurs fois le contenu de mon csv est "overwrite" (argument TRUE), c'est embêtant si des mails sont supprimés entre temps car je n'aurai plus leurs infos.
Quelqu'un connait une solution pour rajouter, "append", des lignes à la suite de celles déjà existantes dans mon csv svp ?
Il faudrait peut être qu'a chaque fois je lise le contenu du csv, le récupère et le réécrive avant d'écrire le reste ensuite, mais c'est un peu lourd ...
Merci
Voici mon code actuel
Code:
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
| Sub writeCsv()
Dim myNamespace As NameSpace
Dim myFolder As Folder
Dim myItem As Object
Dim pathFsoFile As String
Dim strStream As String
Dim objFSO As Object
Dim fsoFile As Object
Set myNamespace = GetNamespace("MAPI")
Set myFolder = myNamespace.Folders("BAL")
pathFsoFile = "D:\Documents\test.csv"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set fsoFile = objFSO.CreateTextFile(pathFsoFile, True)
strStream = "Nom Fichier; Date & heure reception"
fsoFile.WriteLine (strStream)
For Each myItem In myFolder.Items
strStream = myItem.Subject & ";" & myItem.ReceivedTime
fsoFile.WriteLine (strStream)
Next
fsoFile.Close
...
End Sub |