![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 19.06.2009
Сообщений: 163
|
![]()
Ребята, засада! Шеф дал задание составить список-перечень всех файлов excel: актов, счет-фактур. А их ТЫСЯЧИ!!! Единственное радует, что наши бухгалтера грамотно называли все файлы - если это Счет-фактура, то название файла именно такое: "Счет-фактура ..."; если Товарная накладная, то - "ТН ...". Подскажите плиз какое-нибудь решение, по автоматизации процесса.
Дано: папка с файлами с названиями типа: Счет №000001-09 от 01.01.09.xlsx Счет-фактура №СФ-000002-09 от 02.02.09.xlsx ТН-000003-09 от 03.03.09.xlsx Где все числовые переменны. Надо: получить список файлов в виде: см. вложение Заранее спасибо! |
![]() |
![]() |
![]() |
#2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]() |
![]() |
![]() |
![]() |
#3 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
Открываете каким-нибудь командером нужную папку, пишете
dir /s >c:\filelist.txt список всех файлов с данной папки и всех вложенных у вас в файле c:\filelist.txt. если нужные файлы разбросаны по разным папкам, на разных дисках dir /s >>c:\filelist.txt будет их последовательно добавлять в c:\filelist.txt. Откройте файл экселем и начинайте думать... как это богатство представить на ясные очи шефу. для начала - можно в необработанном виде и проследить реакцию, чтобы понять насколько вы близки к выполнению задания.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
![]()
Здравствуйте ru3000.
Удачный способ предложил IgorGO, можно дополнить только тем, что команда DIR работает с маской ввода : dir "Счет*.xlsx" /s >c:\filelist.txt и выходной файл (filelist.txt) создается в 866 (DOS) кодировке. Евгений. |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 19.06.2009
Сообщений: 163
|
![]()
Всем огромное спасибо, особенно EducatedFool. Начальству очень понравилось "моя" ) оперативность. Правда макросы пришлось немного переделать под себя, но все-равно все круто. Спасибо!
И, как говорится: "Нет худа без добра." Теперь задача поставлена, чтобы из каждого файла экпортировалось: Получатель и Сумма. Пробовал своими силами, но ничего не вышло. Сложность в том, что эти данные в каждом файле на разных местах и ни как их отследить не получается. Помогите разобраться, плиз! |
![]() |
![]() |
![]() |
#6 | ||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]() Цитата:
![]() Цитата:
Вот что получилось: |
||
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 19.06.2009
Сообщений: 163
|
![]()
Вот это да!!!
Вот это круть! Спасибо огромейшее. Вы не представляете как меня выручили. Все прекрасно работает. Даже больше того, указал сетевую папку и, о чудо, все работает, хотя вовсе не был уверен, что макрос сможет увидеть сетевой путь. Еще раз спасибо! EducatedFool, Вы лучший! |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 19.06.2009
Сообщений: 163
|
![]()
Уважаемый EducatedFool, у меня никак не получается прописать в формуле поиска то, чтобы формула искала значения не в конкретных ячейках, как то: "c18" и "g24", а сначала искала бы значение "Заказчик:" и ивлекала бы значение на одну ячейку правее. И (res2), что бы формула искала значение "Всего к оплате:" и также звлекала бы значение на одну ячейку правее. Ведь в каждом файле разное кол-во строк и искомые данные все время меняют свое место. А так есть возможность привязки поиска к ячейке с постоянным значением.
Код:
|
![]() |
![]() |
![]() |
#9 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]() |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 19.06.2009
Сообщений: 163
|
![]()
EducatedFool, человечеще! Спасибо за содействие.
Все ок, только есть один минус. При сканировании большого объема файлов с расширением *.doc комп начисто зависает. Диспетчер задач показывает память забитую сотнями процессами WINWORD.exe. Пытался в код впихнуть Shell "Cmd /x/c taskkill /f /im WINWORD.exe", но все безрезультатно. Подскажите, плиз., решение. Последний раз редактировалось ru3000; 19.10.2009 в 21:00. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Необходимо в excel составить список баз 1С 8.1 и 1С 7.7 | ru3000 | Microsoft Office Excel | 1 | 14.10.2009 22:21 |
Индивидуальное задание(список студентов, библиотека) | AlverX | Microsoft Office Access | 0 | 24.05.2009 18:29 |
Приложение которое выводит список файлов текущего каталога и при клике на любом из файлов откроет его. | LimanSSk | Общие вопросы Delphi | 2 | 18.05.2009 16:03 |
В PASCAL .Составить список слов начинающихся на конкретную букву | Waia | Помощь студентам | 1 | 07.11.2008 18:20 |
Составить линейный список, Среда Delphi | Kreaman | Помощь студентам | 1 | 11.06.2008 19:54 |