Что-то случилось с объектом FileSearch в Excel 2007. В документации сказано, что FileSearch скрыт. Означает ли это, что больше нет возможности искать файлы с помощью Excel VBA?

2
Sergey Dirin 17 Июн 2009 в 15:18

4 ответа

Лучший ответ

Вы по-прежнему можете выполнять поиск с помощью функции Dir - множество примеров в Интернете, если вы ищете "excel 2007 vba filesearch", например этот пост.

3
Alistair Knock 17 Июн 2009 в 11:34

Как сказал Стив, вы можете использовать объект FSO для поиска файлов по заданному корневому пути и выражению фильтра. Существует хорошая документация по подгонке по расширению (не забудьте включить нужные расширения или отфильтровать по .xls ) и использованию объектов в объектной модели FSO.

Для объяснения (от msft) об устаревании метода FileSearch. см. - http://support.microsoft.com/kb/920229

Для базового шаблона использования FSO для рекурсивного поиска набора каталогов с помощью FSO см. http://support.microsoft.com/kb/185601

Вы по-прежнему можете использовать Application.GetOpenFilename, если хотите вернуть путь к книге.

0
Anonymous Type 24 Окт 2010 в 22:25

Если вы хотите выполнить поиск по настраиваемым свойствам документа, в настоящее время это невозможно сделать. Вы должны сузить поиск с помощью Dir и открывать каждый индивидуально.

1
Dick Kusleika 17 Июн 2009 в 16:55

Я бы добавил ссылку на библиотеку Microsoft Scripting Runtime. Это дает вам доступ к FileSystemObject, который позволяет довольно легко проверять наличие файла и / или перебирать каталоги, выполняя собственный поиск.

2
Steve Mallory 17 Июн 2009 в 11:46