Мне нужно создать строку CSV с пользовательским разделителем из рабочей книги.Лист в CSV с пользовательским разделителем?
Я написал эту функцию, которая делает трюк, но проблема заключается в том пробегает по строкам происходит слишком медленно:
Public Function CSVStringFromWB(wb As Workbook, FieldTerminator As String) As String
Dim Line As String
Dim r As Long
Dim ColsCount As Long
Dim RowsCount As Long
ColsCount = wb.Sheets(1).UsedRange.Columns.Count
RowsCount = wb.Sheets(1).UsedRange.Rows.Count
With wb.Sheets(1)
For r = 1 To RowsCount
Line = Join(Application.Transpose(Application.Transpose(.Range(.Cells(r, 1), .Cells(r, ColsCount)).Value)), FieldTerminator)
CSVStringFromWB = CSVStringFromWB + Line + vbNewLine
Next r
End With
End Function
Есть ли более быстрых альтернативы для создания преобразования диапазона в строку CSV с пользовательским разделителем?
http://www.howtogeek.com/howto/21456/export-or-save-excel-files-with-pipe -или-другие-разделители-вместо-запятые/могут представлять интерес. – pnuts