Прошу объяснить нехорошее поведение то ли данных, то ли формата файла.
Создаю программно .csv файл трех разных видов:
С DOS понятно - кириллицу не видит, рисует "кракозяблики".
CSVMac преобразовывает одну букву "я" - делает ее большой, "Ковровое" пишет ""Љовровое". Не родное, ясно.
Больше других подходит формат файла "разделители-запятые". Но и тут не все гладко.
Числа в исходных данных сохранены как текст. Если число не целое, с запятой, в .csv вставляется с кавычками, как текст (в примере число 2,5). То же с текстом, в котором есть числа, например:
Ковровое 4142 - 3,0 м/10,0/5,0 мм вставляется с кавычками. Прошу объяснить, почему так. Как быть, на каком этапе менять?
Создаю программно .csv файл трех разных видов:
Код |
---|
Sub СreateCSV() Dim ArrData Dim sPath As String ArrData = Range("A2:C5").Value sPath = ThisWorkbook.Path & "\" With Workbooks.Add .Sheets(1).Cells(1, 1).Resize(4, 3).Value = ArrData .SaveAs Filename:=sPath & "док", FileFormat:=xlCSVMSDOS, CreateBackup:=False .Close End With With Workbooks.Add .Sheets(1).Cells(1, 1).Resize(4, 3).Value = ArrData .SaveAs Filename:=sPath & "мак", FileFormat:=xlCSVMac, CreateBackup:=False .Close End With With Workbooks.Add .Sheets(1).Cells(1, 1).Resize(4, 3).Value = ArrData .SaveAs Filename:=sPath & "разд", FileFormat:=xlCSV, CreateBackup:=False .Close End With End Sub |
CSVMac преобразовывает одну букву "я" - делает ее большой, "Ковровое" пишет ""Љовровое". Не родное, ясно.
Больше других подходит формат файла "разделители-запятые". Но и тут не все гладко.
Числа в исходных данных сохранены как текст. Если число не целое, с запятой, в .csv вставляется с кавычками, как текст (в примере число 2,5). То же с текстом, в котором есть числа, например:
Ковровое 4142 - 3,0 м/10,0/5,0 мм вставляется с кавычками. Прошу объяснить, почему так. Как быть, на каком этапе менять?