Excel-VBA Найти PDF-файл с указанием пути - PullRequest
1 голос
/ 18 мая 2011

Проблема:
Мне нужно знать, какие файлы были размещены в серии папок.Я хотел бы каталогизировать, какие файлы есть в каждой папке, и иметь возможность проверять это всякий раз, когда я хочу, без необходимости вручную заходить в каждую папку.Этакая «синхронизация» нескольких файлов из разных каталогов в централизованном каталоге, так что если я удалю файл из папки, то каталог отразит это изменение.

Я надеялся, что Excel сможет помочь с этим.Короче говоря, я хочу быть в состоянии сделать это:

Filename     FilePath                     Exists

abc_4.23.11  C:\4-23-11\abc_4.23.11.pdf   *True/False*

Детали / Допущения:

Основной каталог не будет изменен для файла.Таким образом, файл "abc.pdf" всегда будет находиться в одной папке.

Предположим, папка 1 имеет следующее соглашение:

Имя папки: mm-dd-yy (i.e 4-30-11)

Содержимое папки 1: ряд других подпапок, мы будем называть их с помощьюписьма так Папка A, Папка B, Папка C ... Папка Z.

Внутри каждой подпапки есть файл PDF, который мне нужно подтвердить, что он там есть.

Дайте мне знать, если естьлюбые вопросы.

Спасибо за миллион!

1 Ответ

1 голос
/ 18 мая 2011

Это может помочь начать с:

Sub ListAllFiles() 
Dim fs As FileSearch, ws As Worksheet, i As Long 
Set fs = Application.FileSearch 
With fs 
    .SearchSubFolders = False ' if you want to search the sub folders also, set to true
    .FileType = msoFileTypeAllFiles 'change this depending on the types of files you would like to filter
    .LookIn = "C:\"  'this will be the search location
    If .Execute > 0 Then 
        Set ws = Worksheets.Add 
        For i = 1 To .FoundFiles.Count 
            ws.Cells(i, 1) = .FoundFiles(i) 
        Next 
    Else 
        MsgBox "No files found" 
    End If 
End With 
End Sub

То, что вам нужно сделать, это создать бит, где он проверяет, существуют ли еще файлы.Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...