|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.11.2010, 16:10 | #1 |
Пользователь
Регистрация: 22.09.2010
Сообщений: 14
|
Открытие по очереди файлов и работа с ними
Суть вопроса проста, открытие по очереди файлов и работа с ним, если такого файла нету переходить к следующему. То есть в папке могут быть таки файлы "00.xls", "01.xls", "02.xls", "03.xls", "04.xls", "05.xls" ... и тд. Открыть файл "00.xls" обработать (тут проблем нет), если файла "00.xls" в папке нет перейти к файлу "01.xls", потом к "02.xls" и тд.
|
25.11.2010, 16:15 | #2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Сначала получите имена подходящих файлов в папке: http://excelvba.ru/code/FilenamesCollection
Код:
|
25.11.2010, 17:02 | #3 |
Пользователь
Регистрация: 22.09.2010
Сообщений: 14
|
Вот часть макроса как он будет выглядеть.
Код:
Последний раз редактировалось LLIaMaH; 25.11.2010 в 17:07. |
25.11.2010, 17:05 | #4 | |
Пользователь
Регистрация: 22.09.2010
Сообщений: 14
|
Цитата:
|
|
25.11.2010, 17:13 | #5 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Лёгкие пути не для нас?
Если Вам так уж необходимо по-разному обрабатывать каждый файл в зависимости от имени, проверяйте имена полученной коллекции по Like или Select Case.
webmoney: E265281470651 Z422237915069 R418926282008
|
25.11.2010, 17:19 | #6 |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
Попробуй так.
Код:
С уважением, Алексей.
Последний раз редактировалось tae1980; 25.11.2010 в 17:30. |
25.11.2010, 18:01 | #7 |
Пользователь
Регистрация: 22.09.2010
Сообщений: 14
|
Если я правельно понял код будет такой. Открываются только файлы Ф_1_2_4_5.xls и Ф_6.xls на этом макрос завершается. Где-то ошибка.
Код:
|
25.11.2010, 19:38 | #8 | |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
Цитата:
Код:
За чем тебе два цикла над одними и теме же файлами? Код:
Проверка If Len(файл) > 0 дает только выполнение кода только в случае если файл есть. Dim wb As Workbook можно перенести в начало макроса.
С уважением, Алексей.
Последний раз редактировалось tae1980; 25.11.2010 в 19:41. |
|
26.11.2010, 10:58 | #9 |
Пользователь
Регистрация: 22.09.2010
Сообщений: 14
|
Ошибку я нашел. Работет нормально но есть один нюанс. Файл "00.xls" он находит, открывает, выполняет прописаные с ним действия. Если файла "00.xls" нет он переходит к файлу "01.xls" с этим проблем нет. Но когда он переходит к файлу "01.xls" он начинает выполнять действия прописаные под файл "00.xls", а не под файл "01.xls". Получается что под все файлы "00.xls", "01.xls", "02.xls"... он выполнет одно итоже. Мне нужно чтоб он под каждый файл выполнял действия прописаные специально под него, у всех они будут разные. То что получилось в прикрепленном файле.
|
26.11.2010, 11:09 | #10 | |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
Цитата:
Воспользуйся командой select. Для разделения действий по каждому файлу, или тем же if. Советую для каждого файла создать свою процедуру, а в основном цикле всего лишь вызывать нужную процедуру.
С уважением, Алексей.
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Автофильтры и работа с ними | Lego | Microsoft Office Excel | 16 | 18.10.2010 23:48 |
Классы и работа с ними | Airou | Общие вопросы C/C++ | 1 | 16.10.2010 04:53 |
Создание файлов и работа с ними... | Olka... | Общие вопросы C/C++ | 12 | 02.04.2010 23:30 |
базы данных DBF и работа с ними | ИВэТэшка | Помощь студентам | 3 | 06.03.2009 15:05 |
Скачка файлов из инета по очереди | koyotfgthispass | Работа с сетью в Delphi | 17 | 24.12.2008 17:50 |