Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сложный поиск файлов 
:(
    Опции темы
Mrak
Дата 1.6.2007, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 259
Регистрация: 16.10.2004

Репутация: нет
Всего: 5



Доброго времени суток!

Нужно реализовать на vba и вывести полученный результать в табицу экселя.
Имеется вот такая структура папок

km\zap\proekt\bank\pr
...
еще много таких же
...
km\td\proekt\bank\pr

Как найти все файлы раслоложенные только в папках bank? 
Очень надо, помогите пожалуйста )



--------------------
Смерть - не противоположность жизни, а лишь ее часть. (Х. Мураками)
PM MAIL   Вверх
RockClimber
Дата 1.6.2007, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 848
Регистрация: 5.5.2006
Где: планета 013 в тен туре

Репутация: 7
Всего: 15



К сожалению, сижу на ноуте с линухом. Дома экселя нет, на виндовую машину надо ставить, а сейчас немного не до того. Поэтому немного теории. Для поиска файлов в VBA используется объект FileSearch. Для начала объявляем переменную:
Код

Dim bankFiles as FileSearch

У объекта FileSearch есть несколько атрибутов, с помощью которых можно задать параметры поиска: папку поиска, расширение файлов, искать во вложенных папках и т. д. (На память названия атрибутов не помню, но в справке все было вроде)
Потом выполняем собственно поиск:
Код

bankFiles.Execute

Тут я не помню - execute это процедура или функция. Если функция, то строка должна выглядеть так:
Код

Dim found as Long
found=bankFiles.Execute

Переменная found будет содержать число найденных файлов.
После этого (опять провал в памяти) в один из атрибутов объекта FileSearch помещается список имен найденных файлов.
В цикле их можно обработать примерно так (надо использовать функцию, которая ищет подстроку в строке; ее название я тоже не помню smile ):
Код

For i=1 to found
    If <строка с полным именем файла содержит "\bank\"> Then
        Cells(r,1)=<имя файла>
        r=r+1
    End If
Next i

Переменная r задает номер строки, в которую будет выводиться имя файла, i - счетчик цикла. Их можно описать любым целым типом (Long, Byte и т. д.) Cells(x,y) - это ячейка экселя в строке x и столбце y.
Если до завтрашнего утра никто не напишет ничего более толкового, пойду ставить эксель...


--------------------
Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит.
PM MAIL GTalk   Вверх
SquarePants
Дата 2.6.2007, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 9.2.2007

Репутация: нет
Всего: нет



Спасибо, мысль понятна, разберусь ))
PM MAIL   Вверх
RockClimber
Дата 2.6.2007, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 848
Регистрация: 5.5.2006
Где: планета 013 в тен туре

Репутация: 7
Всего: 15



SquarePants и Mrak - один человек??? smile 

Эксель я так и не поставил. В понедельник на работе освежу воспоминания...


--------------------
Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит.
PM MAIL GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0681 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.