Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / поиск файла / 4 сообщений из 4, страница 1 из 1
12.11.2007, 17:35
    #34933273
dar55
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск файла
Подскажите, как реализовать поиск в подкаталогах?
Следующий поиск ищет только в папке, игнорирую подкаталоги

Set fsoSourceFolder = fsoFileSystem.GetFolder(cstr(sFilePath))

For Each fsoSourceFile In fsoSourceFolder.Files
.....
Next
...
Рейтинг: 0 / 0
12.11.2007, 17:52
    #34933350
klen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск файла
посмотри здесь "перебор с помощью рекурсии"
тебе остаётся только добавить анализ искомого файла
...
Рейтинг: 0 / 0
12.11.2007, 18:16
    #34933430
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск файла
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Option Explicit

Private mobjFSO As New FileSystemObject

Private Sub Command1_Click()
    ProcessFolder "C:\Windows\"
End Sub

Private Sub ProcessFolder(ByVal pstrRootFolder As String)

    Dim objFolder As Folder
    Dim strFolder As String
    Dim strPath As String
    
    strFolder = pstrRootFolder

    For Each objFolder In mobjFSO.GetFolder(strFolder).SubFolders
        DoEvents
        strPath = mobjFSO.BuildPath(strFolder, objFolder.Name)
        List1.AddItem strPath
        ProcessFolder strPath
    Next objFolder
    
End Sub
...
Рейтинг: 0 / 0
12.11.2007, 18:48
    #34933523
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск файла
Используй регулярные выражения

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
'Выбрать файлы XLS (XLT, XLA) в каталоге и подкаталогах
'С исользованием FileSystemObject и RegExp - регулярных выражений
Private Sub CommandButton6_Click()
  Columns( 4 ).ClearContents
  GetFileListFSO ActiveWorkbook.Path, "prof.*\.xl(s|t|a)$"
End Sub
'FileSystemObject - БИБЛИОТЕКА  Microsoft Scripting Runtime
'RegExp - БИБЛИОТЕКА Microsoft VBScript Regular Expressions
Sub GetFileListFSO(ParentFolder As String, FileMask As String)
    Dim fso As New FileSystemObject
    Dim re As New RegExp
    Dim fold1 As Folder, fold2 As Folder
    Dim iFile As File
 
    Application.StatusBar = ParentFolder
    Set fold1 = fso.GetFolder(ParentFolder)
    
    For Each fold2 In fold1.SubFolders
        GetFileListFSO fold2.Path & "\", FileMask
    Next
    re.Pattern = FileMask
    re.IgnoreCase = True
    
    For Each iFile In fold1.Files
        If re.test(iFile.Name) Then
            ActiveSheet.Range("D" & Rows.Count).End(xlUp).Offset( 1 ) = iFile.Name
        End If
    Next
    Application.StatusBar = False
End Sub
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / поиск файла / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]