открыть файл отдельно в проводнике открыть нужную папку выделить в ней нужные файлы( csv ) и перетащить в окно иксель все книги сохранятся в xls - только небыстро нифига.. из самого икселя лучше не открывать - будет спрашивать о параметрах для каждого файла
Слэн, а как же ведущие нули и некоторые/многие даты? Ну смотря конечно какие данные - но я бы рисковал осторожно
Но решение интересное - сохранил, может когда доведётся применить.
Кстати, как вариант - кодом в каждом файле заменить разделители на tab, расширение на xls (т.е. полученный текст сохранить с таким расширением) Косяки при открытии остаются, и не совсем корректные xls получаются (вернее это нифига не xls ), но зато должно быть быстро.
мой вариант. результат как будто все открыли ручками и сохранили
Код
Public Sub csv2xls()
Const path_id As String = "c:\берем отсюда"
Const path_out As String = "c:\кладем сюда"
Dim fso, file_
Set fso = CreateObject("Scripting.FileSystemObject")
For Each file_ In fso.GetFolder(path_id).Files
If Right(file_.Path, 3) = "csv" Then
With Workbooks.Open(file_.Path)
.SaveAs path_out & "\" & Left(file_.Name, Len(file_.Name) - 4), FileFormat:=xlOpenXMLWorkbook
.Close False
End With
End If
Next file_
End Sub
JomВаш код хорош, но .csv файлы конвертирует не корректно, а вот "конвертер" от Слэн замечательно, если бы не одно но. Приходиться вручную отмечать все файлы для последующей конвертации, а, это не есть гуд)) Гуру VBA, сделайте милость, напишите макрос, совмещающий качество конвертации конвертера от Слен с функционалом конвертера от Jom. Т.е. нажал "кнопочку" и все .csv файлы хранящиеся в одной папке корректно конвертировались в другую. Вот такая банальная просьба. Извините старика, ну, не силён я в написании VBA макросов, а такого вида макрос очень нужен, причём, ещё вчера)) P.S. Для справки, разделитель в csv файлах ";"
Есть ли конвертор, чтобы автоматически csv в xls конвертил из консоли (добавив в расписание)? На винде. Хотя линукс тоже можно. Но важно еще конвертить учитывая постоянные разделители