The code below will write a CSV file and will not output anything for a blank
line
Sub WriteCSV()
Const MyPath = "C:\temp\"
Const WriteFileName = "text.csv"
Const Delimiter = ","
Const ForReading = 1, ForWriting = 2, ForAppending = 3
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
Set fswrite = CreateObject("Scripting.FileSystemObject")
'open files
WritePathName = MyPath + WriteFileName
fswrite.CreateTextFile WritePathName
Set fwrite = fswrite.GetFile(WritePathName)
Set tswrite = fwrite.OpenAsTextStream(ForWriting, TristateUseDefault)
LastRow = Cells(Rows.Count, "A").End(xlUp).Row
For RowCount = 1 To LastRow
LastCol = Cells(RowCount, Columns.Count).End(xlToLeft).Column
For ColCount = 1 To LastCol
If ColCount = 1 Then
OutputLine = Cells(RowCount, ColCount)
Else
OutputLine = OutputLine & Delimiter & Cells(RowCount, ColCount)
End If
Next ColCount
OutputLine = Trim(OutputLine)
If Len(OutputLine) <> 0 Then
tswrite.writeline OutputLine
End If
Next RowCount
tswrite.Close
End Sub
> Hi
>
[quoted text clipped - 6 lines]
> tia
> James
access user - 18 Mar 2008 13:19 GMT
Wow - I'll give that a go - let you know how I get on.
thanks
James
> The code below will write a CSV file and will not output anything for a blank
> line
[quoted text clipped - 49 lines]
> > tia
> > James
access user - 18 Mar 2008 15:05 GMT
Hi Joel
I get an error
'argument not optional' on line beginning LastRow =
Also, one thing I didn't mention, the worksheet from which the csv file is
to be created is within a workbook, so do we also need to use the With
statement to tell it which worksheet?
tia
James
> The code below will write a CSV file and will not output anything for a blank
> line
[quoted text clipped - 49 lines]
> > tia
> > James