Страницы: 1
RSS
Загрузка данных из папки в Excel
 
Уважаемые форумчане, всем доброго времени суток!!! Хотел бы поделиться с вами своей проблемой. Существует файл Excel (Анализ реагирования, в который является сводным файлом для всех файлов Excel содержащихся в определенной папке. Файлы Excel с данными содержаться в одной папке, имеют одинаковую форму заполнения, но постоянно разные названия, и таких файлом может быть порядком около 100. Помогите пожалуйста решить проблему, чтобы данные из файлов автоматически заливались в сводный файл и в нужные ячейки  
<EM><STRONG>Файл удален</STRONG> - велик размер - [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>
 
>>Существует файл Excel  
 
Существовал :D
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Уменьшил размер
 
Особых проблем нет, но нужно определиться стратегически -  
или    
1. Берём данные из всех файлов определённой папки, файлы удаляем или потом эти файлы вручную удалите.  
или  
2.  Берём данные из всех файлов определённой/текущей папки, кроме файла анализа и формы, просмотренные файлы переименовываем с переносом в другую папку.  
 
В обоих случах файлы с другим расположением данных недопустимы, или нужно вводить в код дополнительные проверки по каким-нибудь признакам.  
 
или  
3. Выводим диалог выбора файлов, можно выбрать сразу много файлов, обработанные переименовываем или удаляем/переносим.  
Тут пользователь сам ответственнен за выбор нужных файлов.  
 
Код цикла по всем файлам папки прост - 4 строки нетто:  
 
Sub tt()  
Const SRC = "C:\Temp\Город\"      'папка с исходными файлами  
 
fName = Dir(SRC & "*.xls")  
Do While fName <> ""  
  'открытие SRC & fName, вместо этого для теста:  
  MsgBox SRC & fName  
 'Name SRC & fName As SRC & "obrabotano." & fName    ' Move or rename file.  
 
   fName = Dir  
Loop  
 
End Sub  
 
Правда, с таким кодом файлы нужно переносить в другую папку, иначе при переименовывании на месте первый файл анализируется 2 раза.  
Открыли файл (можно с помощью GetObject), определили строку, куда будем помещать данные, копируем ячейки по одной, закрыли файл, переименовали, берём следующий.  
При переименовании/перемещении можно в имя файла дописать дату/время операции, чтоб потом ориентироваться в "пространстве".  
Предлагаю год.месяц.день.часминутасекунда.староеимяфайла.xls  
Секунды можно не писать :)  
 
Ну и основная проблема в коде - это рутина, большое количество данных вразброс.  
С этим подозреваю придётся Вам бороться самому.
Страницы: 1
Читают тему
Наверх