Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2010, 18:43   #1
Sprat
Пользователь
 
Регистрация: 12.12.2010
Сообщений: 54
По умолчанию Поиск файлов в скрытых и системных папках

Хочу найти на компьютеры все файлы с разрешением .wab, но VBA котегорично отказывается искать данные файлы в скрытых и системных папках. Помогите!!!

Данный вариант не помогает:

Sub S_1()
With Application.FileSearch
.LookIn = Dir("C:\", vbDirectory + vbHidden + vbSystem)
.SearchSubFolders = True
.Filename = "*.wab*"
If .Execute > 0 Then
MsgBox "Число найденных файлов = " & .FoundFiles.Count
For i = 1 To .FoundFiles.Count
MsgBox .FoundFiles(i)
Next i
Else
MsgBox "Не найдено подходящих файлов"
End If
End With
End Sub
Sprat вне форума Ответить с цитированием
Старый 12.12.2010, 22:00   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Это пробовали? http://excelvba.ru/code/FilenamesCollection
Код:
Set coll = FilenamesCollection(ПутьКПапке, ".wab")
EducatedFool вне форума Ответить с цитированием
Старый 12.12.2010, 22:02   #3
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Указываем папку,просмотрит все вложенные
Вложения
Тип файла: rar FileSearch.rar (26.5 Кб, 21 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 12.12.2010, 23:17   #4
Sprat
Пользователь
 
Регистрация: 12.12.2010
Сообщений: 54
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Это пробовали? http://excelvba.ru/code/FilenamesCollection
Код:
Set coll = FilenamesCollection(ПутьКПапке, ".wab")
Зачем мне искать файл если я знаю где он лежит!!!??? Вам не кажется что это глупая операция!!!!!!!!!!

Мне нужно просканировать весь диск и найти все файлы!!!!!!!!!
Sprat вне форума Ответить с цитированием
Старый 12.12.2010, 23:28   #5
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Цитата:
Сообщение от Sprat Посмотреть сообщение
Зачем мне искать файл если я знаю где он лежит!!!??? Вам не кажется что это глупая операция!!!!!!!!!!

Мне нужно просканировать весь диск и найти все файлы!!!!!!!!!
А вам не кажется, что вы невнимательно читали статью?
Может, конечно, я и туплю, - но, вроде бы, я предложил вам в точности то, что требовалось...

Если использовать мою функцию - ваш макрос будет таким:

Код:
sub test()
  КолвоФайлов = FilenamesCollection("c:\", ".wab").count
  if КолвоФайлов>0 then msgbox "Число найденных файлов = " & КолвоФайлов
end sub
PS: И используйте побольше восклицательных знаков - сейчас вы их ставите слишком мало...

Последний раз редактировалось EducatedFool; 12.12.2010 в 23:31.
EducatedFool вне форума Ответить с цитированием
Старый 12.12.2010, 23:39   #6
Sprat
Пользователь
 
Регистрация: 12.12.2010
Сообщений: 54
По умолчанию

Цитата:
Сообщение от doober Посмотреть сообщение
Указываем папку,просмотрит все вложенные

Просто СУПЕР!!!! Большое спасибо. Есть только одна проблема, что бы просканировать диск объёмом около 500 GB требуется более 10 минут. Нельзя ли как то ускорить процесс?
Sprat вне форума Ответить с цитированием
Старый 12.12.2010, 23:42   #7
Sprat
Пользователь
 
Регистрация: 12.12.2010
Сообщений: 54
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
А вам не кажется, что вы невнимательно читали статью?
Может, конечно, я и туплю, - но, вроде бы, я предложил вам в точности то, что требовалось...

Если использовать мою функцию - ваш макрос будет таким:

Код:
sub test()
  КолвоФайлов = FilenamesCollection("c:\", ".wab").count
  if КолвоФайлов>0 then msgbox "Число найденных файлов = " & КолвоФайлов
end sub
PS: И используйте побольше восклицательных знаков - сейчас вы их ставите слишком мало...


К сожалению так же не ищет в скрытых и системных папках
Sprat вне форума Ответить с цитированием
Старый 13.12.2010, 00:22   #8
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Цитата:
Сообщение от Sprat Посмотреть сообщение
Просто СУПЕР!!!! Большое спасибо. Есть только одна проблема, что бы просканировать диск объёмом около 500 GB требуется более 10 минут. Нельзя ли как то ускорить процесс?
Можно,но надо сменить среду программирования
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 13.12.2010, 00:36   #9
Sprat
Пользователь
 
Регистрация: 12.12.2010
Сообщений: 54
По умолчанию

Цитата:
Сообщение от doober Посмотреть сообщение
Можно,но надо сменить среду программирования
А если я меняю среду программирования. Потом все антивирусники ругаться начинают. Выход один VBA в Excel
Sprat вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
поиск системных файлов средствами VBA Rustr1957 Microsoft Office Access 1 11.11.2010 15:21
Копирование скрытых файлов EviGL Visual C++ 6 21.10.2010 14:21
Как убыстрить поиск файла во вложенных папках Rossoman Microsoft Office Excel 0 06.05.2010 17:51
Создание скрытых файлов HunterMan Win Api 1 04.06.2008 04:01
Поиск файлов в папках и подпапках Format C: Общие вопросы Delphi 17 04.05.2007 23:31