2014-06-13 5 views
1

Je voudrais écrire des données dans un fichier csv. J'utilise ce code:Writer vers un fichier csv existant avec accès vba

Dim Filename As String, line As String 
    Dim A As Integer 
    Filename = "D:" & "\testfile.csv" 
    Open Filename For Output As #1 
    For A = 1 To 100 
    Print #1, "test, test, test" 
    Next A 
    Close #1 

mais le problème est que ce code récrire ce fichier cvs depuis le début. mais je voudrais ajouter des données à la fin du fichier csv (Par exemple si je cours ce code trois fois, je voudrais avoir 300 lignes dans ce fichier csv)

que dois-je faire?

Répondre

2

Dans ce cas, vous avez besoin de Open Filename For Append As #1.

Vous pouvez également constater que Write #1, se comporte mieux que Print #1, si votre ligne contient des guillemets.

Une dernière chose, ne pas coder en dur le #1 comme quelqu'un d'autre pourrait utiliser cette poignée. Au lieu de cela, utilisez

Dim n as Integer 
n = Freefile 'Let VBA find a free file handle 
'use #n rather than #1 from here. 
1

Voici votre erreur:

Open Filename For Output As #1 

qui devrait être:

Open Filename For Append As #1 

Ceci ajoutera votre nouveau texte à la fin d'un cours d'eau.

Questions connexes