Страницы: 1
RSS
Как пересохранить несколько файлов в другом формате
 
Добрый день!
Помогите, пожалуйста, в решении следующей задачи.

В папке - путь c:\Мои документы\Выгрузки
20-30 файлов (табличные данные) в формате *.csv
Необходимо пересохранить их в формат Лист Excel с поддержкой макросов с вызовом окна позволяющего выбрать файлы для пересохранения.
Новые файлы (*.xlsm) должны сохраняться в ту же папку (c:\Мои документы\Выгрузки)

Заранее спасибо за помощь!
Изменено: Nadine_abc - 11.03.2016 14:03:37
 
Nadine_abc, запишите макрорекордером открытие и сохранение как надо одного файла. Отрихтуйте под цикл. Используйте поиск. Уже не раз подобные вопросы решались.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
JayBhagavan, спасибо за ответ.
Вопрос почти удалось закрыть макросом, который ниже.
Не знаю, можно ли продолжить обсуждение в рамках этой темы, но все-таки...
возникла другая проблема: при пересохранении *.csv  в *.xlsm теряются разделители, то есть данные из нескольких столбцов объединяются в один. Если возможно, подскажите, как поправить или где посмотреть.



Sub CSVtoXls()

Dim CSVfolder As String
Dim XlsFolder As String
Dim fname As String
Dim wBook As Workbook

   With Application.FileDialog(msoFileDialogFilePicker)
       .AllowMultiSelect = True
       .InitialFileName = "*.*"
       .Title = "Choose files"
   If .Show = False Then Exit Sub
   
 
fname = Dir(CSVfolder & "*.csv")

Do While fname <> ""
   Set wBook = Workbooks.Open(CSVfolder & fname, Format:=6, Delimiter:=",")
   wBook.SaveAs XlsFolder & Replace(fname, ".csv", ""), ThisWorkbook.FileFormat
   wBook.Close False
fname = Dir
Loop
End With
End Sub
 
Кнопка оформления кода в сообщении - <...>
Свои сообщения можно исправлять...
 
Открывайте csv через импорт внешних данных из текста (там заодно и формат ячейкам задайте, а то тоже может кое-что пропасть/исказиться), всё это записывется рекордером.
Страницы: 1
Читают тему
Наверх