Miután nem sikerült rávennem az Excel 2007-et, hogy a szöveg tartalmú cellákat idézőjelek közé zártan exportálja CSV formátumba, az alábbi makrót írtam:
Option Explicit
Sub ExportCsv()
Dim L As Range
Dim C As Range
Dim S As String
Dim FSO As Object
Dim F As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
Set F = FSO.CreateTextFile("export.csv", True)
For Each L In Worksheets(1).UsedRange.Rows
S = ""
For Each C In L.Rows(1).Cells
S = S + """" + C.Value + """" + ";"
Next
S = Left(S, Len(S) – 1)
F.WriteLine (S)
Next
F.Close
End Sub
Sub ExportCsv()
Dim L As Range
Dim C As Range
Dim S As String
Dim FSO As Object
Dim F As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
Set F = FSO.CreateTextFile("export.csv", True)
For Each L In Worksheets(1).UsedRange.Rows
S = ""
For Each C In L.Rows(1).Cells
S = S + """" + C.Value + """" + ";"
Next
S = Left(S, Len(S) – 1)
F.WriteLine (S)
Next
F.Close
End Sub
A fenti kód csak a feladat megoldását szolgálja, a használt tartomány minden celláját szövegként menti ki, ráadásul a kimenő fájl abban a könyvtárban keletkezik, ahová legutóbb mentettük az Excel dokumentumot.