Страницы: 1
RSS
Пакетно конвертировать csv в xls
 
Кто знает способ пакетно конвертировать несколько сотен CSV (разделитель ";" )  в XLS?
Прогу за 30 баксов не предлагайте. Операция разовая.

Может есть у кого готовый макрос?
 
открыть файл
отдельно в проводнике открыть нужную папку
выделить в ней нужные файлы( csv ) и перетащить в окно иксель
все книги сохранятся в xls - только небыстро нифига..
из самого икселя лучше не открывать - будет спрашивать о параметрах для каждого файла
Изменено: Слэн - 30.10.2013 22:52:57
Живи и дай жить..
 
Спасибо
 
Слэн, а как же ведущие нули и некоторые/многие даты?
Ну смотря конечно какие данные - но я бы рисковал осторожно :(

Но решение интересное - сохранил, может когда доведётся применить.

Кстати, как вариант - кодом в каждом файле заменить разделители на 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 - 30.10.2013 15:30:06
 
Jom Ваш код хорош, но .csv файлы  конвертирует не корректно, а вот "конвертер" от Слэн замечательно, если бы не одно но. Приходиться вручную отмечать все файлы для последующей конвертации, а, это не есть гуд)) Гуру VBA, сделайте милость, напишите макрос, совмещающий качество конвертации конвертера от Слен с функционалом конвертера от Jom. Т.е. нажал "кнопочку" и все .csv файлы хранящиеся в одной папке корректно конвертировались в другую. Вот такая банальная просьба. Извините старика, ну, не силён я в написании VBA макросов, а такого вида макрос очень нужен, причём, ещё вчера)) P.S. Для справки, разделитель в csv файлах ";"  
 
Есть ли конвертор, чтобы автоматически csv в xls конвертил из консоли (добавив в расписание)? На винде. Хотя линукс тоже можно. Но важно еще конвертить учитывая постоянные разделители
 
Вопрос не связан с Excel. В курилку.
Страницы: 1
Читают тему
Наверх