У меня есть следующий код vba, который записывает элементы в ArrayList в файл с TextStream.
Sub WriteListAsCSV(list As Object, filePath As String)
Dim fso As New FileSystemObject
Dim ts As TextStream
Set ts = fso.CreateTextFile(filePath, True)
Dim line As Variant
For Each line In list
ts.WriteLine (line)
Next line
ts.Close
End Sub
Проблема в том, что я получаю дополнительный разрыв строки в конце файла.
Я могу сделать следующее, но я не хочу проверять в каждом цикле этот единственный разрыв строки.
Sub WriteListAsCSV(list As Object, filePath As String)
Dim fso As New FileSystemObject
Dim ts As TextStream
Set ts = fso.CreateTextFile(filePath, True)
Dim line As Variant
Dim i As Integer
For i = 0 To list.Count
line = list(i)
ts.Write (line)
'If not last line
If Not i = list.Count Then
'Write blankline
ts.WriteLine()
End If
Next
ts.Close
End Sub
Есть ли способ удалить один символ назад, например кнопку Backspace в VBA? Или еще один хитрый трюк, чтобы сделать это?
For i = 0 To list.Count-1
ts.WriteLine (line)
Next
ts.Write (line)
- person Stef   schedule 29.08.2014