Объект FileSearch

Объект FileSearch обладает функциональными возможностями диалогового окна Открытие документа (Open), отображаемого на экране_посредством выбора команды Файл, Открыть (File, Open). Объект FileSearch входит в объект Application и иерархически включает в себя (рис. 13.1):

  • Семейство FoundFiles, которое является списком всех файлов, возвращаемых в результате поиска
  • Семейство PropertyTests, которое является списком всех критериев поиска

Рис. 13.1. Иерархическая структура объекта FileSearch

Объект FileSearch возвращается свойством FileSearch объекта Application.

Объект FileSearch имеет следующие два метода.

       
  Execute Поиск специфицированных файлов. Синтаксис: Execute (SortBy, SortOrder, AlwaysAccurate) Аргументы:
  • SortBy — устанавливает способ сортировки файлов. Допустимые значения: msoSortbyFileName, msoSortbyFileType, msoSortbyLastModif led и msoSortbySize
  • SortOrder — устанавливает порядок сортировки файлов.
Допустимые значения: msoSortOrderAscending и msoSort Order Descending
  • AiwaysAccurate — допустимые значения: True (поиск среди измененных файлов) и False (в противном случае)
 
  NewSearch Устанавливает критерии, используемые при поиске по умолчанию  
       

Приведем наиболее часто применяемые свойства объекта FileSearch.

       
  FileName Устанавливает имя файла для поиска. Допустимо использование символов (*) и (?)  
  FileType Задает тип файла для поиска. Допустимые значения: msoFileTypeAHFiles, msoFileTypeBinders, msoFile-TypeDatabases, msoFileTypeExcelWorkbooks, msoFi-leTypeOff ice Files, ms о FileType Power Point Presentations, msoFileTypeTemplates И msoFileTypeWordDocuments  
  Lookln Задает папку для поиска файла  
  SearchSubFolders Допустимые значения: True (поиск также проводить в поддиректориях) и False (в противном случае)  
       

Следующий пример позволяет в поле со списком диалогового окна вывести список всех файлов текущей папки:

Private Sub UserForm_Initialize()

ComboBoxl.Clear With Application.FileSearch

.FileName = "*.xls".SearchSubFolders = False

If.Execute(SortBy:=msoSortByFileName,

sortorder:=msoSortOrderAscending) > 0 Then

For i = 1 To.FoundFiles.Count

ComboBoxl.Addltem.FoundFiles(i)

Next i

End If

End With

End Sub

Предыдущая программа отображает в поле со списком полные имена файлов, т. е. имя файла и путь. Для того чтобы в списке отображались только имена файлов (без пути), программу необходимо модифицировать следующим образом:

Private Sub UserForm_Initialize()


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: