Hej Hej.Sök upp och ersätt tecken i txt fil.
När jag kör nedanstående kod exporterar jag ut markerade celler i ett excelblad till en txt fil. Efter varje cell placerar jag ett kommatecken. Problemet är att jag även får ett komma på slutet och det vill jag inte ha.
Man kan lösa det på två sätt (det finns fler).
Alt 1. Att inte ta med ett kommatecken i den sista cellen per varje rad.
Alt 2. Öppna upp textfilen och kör en sök upp och ersätt.
Private Sub SQL_OUT()
'Delar av koden kommer från www.xldennis.com
Dim fsoObject As Scripting.FileSystemObject
Dim fsoFil As Object
Dim rnCell As Range
Dim vaFilnamn_c As Variant
Dim lnRader As Long
vaFilnamn_c = "c:\temp\sql_out.txt"
'Markerar kolumner
Range("c8").Select
Range(Selection, Selection.End(xlToRight)).Select
'Skapar fil
Set fsoObject = New Scripting.FileSystemObject
Set fsoFil = fsoObject.CreateTextFile(vaFilnamn_c, True)
lnRader = 0
'Skriver cellområdets data till textfilen.
fsoFil.Write "insert into cotobjs("
For Each rnCell In Selection.Cells
fsoFil.Write rnCell.Value
fsoFil.Write "," 'kommatecken efter varje värde
Next rnCell
'Sist lägger jag en slutparandes.
fsoFil.Write ")"
fsoFil.Close
Set fsoObject = Nothing
End SubSv: Sök upp och ersätt tecken i txt fil.
Testa följande:
i=0
For Each rnCell In Selection.Cells
i = i + 1
fsoFil.Write rnCell.Value
if i < Selection.Cells.Count then
fsoFil.Write "," 'kommatecken efter varje värde
end if
Next rnCell
Det är också bra att bygga upp textraden i en variabel och enbart skriva en gång till filen/rad, speciellt om det är många rader som skall skrivas.
/Tobbe