nummer als tekst in CSV

Status
Niet open voor verdere reacties.

koster1984

Gebruiker
Lid geworden
4 jul 2012
Berichten
337
Goedemiddag,

Ik heb een probleem bij het schrijven naar CSV, de CSV gebruik ik om een stamgegevens in Exact aan te maken.

Als ik een getal heb wat begint met een 0, wordt deze 0 automatisch weggehaald, echter deze 0 is wel degelijk relevant. Ik heb al behoorlijk zitten zoeken op helpmij en Google, maar ik kan niks vinden wat helpt. Hebben jullie wellicht een handige tip?

Code:
Sub testCSV()
Dim csv As Object, tekst As String
Set csv = CreateObject("Scripting.FileSystemObject").createtextfile("C:\Users\xx\Bureaublad\testCSV.csv", True)
tekst = "0123"
With csv
    .Write tekst
    .Write ";test1"
    .WriteLine
    .Close
End With
End Sub
 
Da's wonderlijk, want hij zet de tekst gewoon goed neer. Open het bestand maar in Kladblok of Notepad++. Je probleem zit 'm denk ik ook niet in het wegschrijven, maar meer in het openen in Excel. Dát is de boosdoener, want Excel 'herkent' het getal, en verwijdert dan de voorloopnullen. Daar doe je niet zoveel aan, tenzij je een importspecificatie gebruikt waarbij je de kolom als tekst definieert en niet als getal.
 
Heb 'm zo getest:
Code:
Sub testCSV()
Dim csv As Object, SpecialPath As String
''    SpecialPath = CreateObject("WScript.Shell").SpecialFolders("MyDocuments")
    SpecialPath = CreateObject("WScript.Shell").SpecialFolders("Desktop")
    Set csv = CreateObject("Scripting.FileSystemObject").createtextfile(SpecialPath & "\tekstCSV.txt", True)
    With csv
        .Write "0123"
        .Write ";test1"
        .WriteLine
        .Close
    End With
    Set csv = CreateObject("Scripting.FileSystemObject").createtextfile(SpecialPath & "\testCSV.csv", True)
    With csv
        .Write "0123"
        .Write ";test1"
        .WriteLine
        .Close
    End With
''    tekst = "0123"
End Sub

Beide (tekst)bestanden laten de 0 zien in een kladblok, terwijl Excel dus de voorloopnul stript.
 
He inderdaad.. dan is er toch niet een probleem denk ik :)

Dankjewel voor het uitzoeken
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan