|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
18.11.2008, 12:41 | #11 | ||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Ну понятно, если файлов packinglist* в папке нет, то макрос выдаёт диалог выбора файла или папки. Так вот какой из диалогов нужен - диалог выбора файла - чтобы Вы могли выбрать один файл, или несколько файлов одновременно в одной папке, или всё же диалог выбора папки, чтобы макрос потом искал в выбранной Вами папке все файлы packinglist*? Далее. В любом случае при запуске макроса выдавать запрос выбора папки \ файла (независимо от наличия файлов packinglist* в текущей папке), или только если таковые файлы в исходной папке отсутствуют? Цитата:
|
||
19.11.2008, 14:01 | #12 |
Форумчанин
Регистрация: 22.09.2008
Сообщений: 308
|
Извините, что непонятно задал вопрос.
Т.е. ситуация такая. Файлы "packinglist*" я получаю в разных папках и директориях. Пример: С:\1\ packinglist1\ packinglist1_1.xls С:\1\ packinglist1\ packinglist1_2.xls С:\1\ packinglist2\ packinglist2_1.xls С:\1\ packinglist2\ packinglist2_2.xls С:\1\ packinglistN\ packinglistN_1.xls … а общий файл (где будет модуль) находится С:\1\ общий.xls при чем не исключено, что ч/з месяц путь может измениться. Если бы вы указали, как и где это можно исправить в самом модуле, было бы не плохо.
Думайте глобально - действуйте локально!
Последний раз редактировалось Iskin; 19.11.2008 в 14:04. |
19.11.2008, 14:19 | #13 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Я правильно понимаю, что макрос должен перебирать все подкаталоги в папке "С:\1\", и если название подкаталога имеет вид "packinglistN", то обрабатывать все файлы packinglist*.xls во всех этих подкаталогах?
Или Вы хотите вручную выбрать одну из папок "С:\1\ packinglistN\", и чтобы макрос обрабатывал только файлы из этой папки? |
19.11.2008, 14:23 | #14 |
Форумчанин
Регистрация: 22.09.2008
Сообщений: 308
|
Да, вы правильно поняли. Т.е. есть общая папка, в ней еще папки. А в этих папках лежат те самые файлы из которых я должен брать данные.. Не исключено, что выбирать придеться не все файлы packinglist*.xls, хотя они лежат в одном корнево каталоге.
Думайте глобально - действуйте локально!
Последний раз редактировалось Iskin; 19.11.2008 в 14:26. |
20.11.2008, 09:46 | #15 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Попробуйте такой вариант:
Код:
|
20.11.2008, 10:21 | #16 |
Форумчанин
Регистрация: 22.09.2008
Сообщений: 308
|
модуль отрабатывает, но для меня не много не то. При чем 1 вариант устраивал больше. К стати, теперь вставляются значения, но ексель все равно спрашивает про ссылки. Как говориться, чем сто раз услышать -лучше один раз потрогать. Для наглядности прикрепляю пример. В файле "общий файл" на листе 1-50 образец то как должно быть. Т.е. мне нужно что бы данные всех файлов "PackingList" в подконтрольных папках 1 д, 2д, и т.д. попали в "общий файл". Хочу заметить что у меня Office 2007, но нужно и для 2003.
Думайте глобально - действуйте локально!
Последний раз редактировалось Iskin; 20.11.2008 в 10:23. |
20.11.2008, 10:56 | #17 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Код:
|
20.11.2008, 11:45 | #18 |
Форумчанин
Регистрация: 22.09.2008
Сообщений: 308
|
пробывал на разных версиях (в 2007 и 2003) модуль зависает.
Думайте глобально - действуйте локально!
|
20.11.2008, 12:17 | #19 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Макрос перебирает все подпапки во всех папках, начиная с той, к которой расположен файл "общий.xls".
Если Вы поместите файл "общий.xls" на диск C, то макрос будет перебирать все папки на диске С в поисках нужных файлов. Возможно, причина в этом. Код проверял на 2 компьютерах. Всё работает. Вообще, Ваше задание изменяется с каждым новым постом... То такая структура папок, то другая... То надо проверять файлы в текущей папке, то в выбранной Вами, то во всех подпапках... Реализовать обработку Ваших файлов совсем не сложно, и если бы Вы написали чёткий алгоритм выбора файлов, Ваш макрос давно бы уже работал. А то я даже не понял, то ли работа макроса должна начинаться с запроса папки, то ли макрос сам сразу должен начинать искать файлы... PS: Просьба ко всем: во вложении 25 укп.rar из поста #16 в файл "общий" вставьте приведённый в посте #17 код, и проверьте его работоспособность. (активировать пустой Лист2 (или любой другой) и запустить макрос Main) Может кто подскажет, чем может быть вызвана неработоспособность этого кода... Есть подозрение на scripting.filesystemobject и на зависание при множестве рекурсивных вызовов Function ReadFileNames, но, может быть, причина в другом?
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
Макросы любой сложности на заказ. Мониторинг цен конкурентов Последний раз редактировалось EducatedFool; 20.11.2008 в 12:54. |
20.11.2008, 12:53 | #20 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Попробуйте распаковать папку из вложения на рабочий стол, и в файле "Общий" нажать на желтую кнопочку.
В последнем варианте Вы должны увидеть, на каком именно действии зависает макрос. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Манипуляции с датой в запросе | Arkuz | БД в Delphi | 8 | 11.11.2008 23:23 |
массив сохранение информации и манипуляции | oblom | Общие вопросы C/C++ | 19 | 04.02.2008 02:28 |
как избавиться от 2.26188E+19?? | banker | Microsoft Office Excel | 11 | 12.12.2007 09:35 |
Манипуляции с датой и временем. | Tatyana | БД в Delphi | 16 | 29.06.2007 19:19 |
как избавиться от закладки | ЧИЖ | Общие вопросы Delphi | 3 | 24.06.2007 00:05 |