Исключение определенных файлов по имени при просмотре файлов в папке - PullRequest
0 голосов
/ 09 июля 2020

Приведенный ниже код просматривает файлы в папке и добавляет имена файлов в диапазон в Excel.

Dim oFSO As Object
Dim oFolder As Object
Dim oFile As Object
Dim i As Integer

Dim DNDsh As Worksheet
Dim wb As Workbook

'On Error GoTo ErrHandlr

Set oFSO = CreateObject("Scripting.FileSystemObject")

Set oFolder = oFSO.GetFolder("H:\Desktop\FILES")

Set wb = Workbooks("DOC.xlsm")

Set DNDsh = wb.Worksheets("DO NOT DELETE")

DNDsh.Range("A:A").ClearContents

For Each oFile In oFolder.Files
    DNDsh.Cells(i + 1, 1) = oFile.Name
    i = i + 1
Next oFile

Я хочу исключить файлы, содержащие "POSITION" в имени.

Я пробовал использовать InStr, но это не сработало.

For Each oFile In oFolder.Files
    If InStr(oFile.Name, "Position") < 0 Then
        DNDsh.Cells(i + 1, 1) = oFile.Name
        i = i + 1
    End If
Next oFile

1 Ответ

0 голосов
/ 09 июля 2020

Пришлось использовать oFile вместо oFile.Name. Также обнаружено, что строка Instr чувствительна к регистру, поэтому я использовал верхний регистр.

For Each oFile In oFolder.Files
    If InStr(oFile, "POSITION") = 0 Then
        DNDsh.Cells(i + 1, 1) = oFile.Name
        i = i + 1
    End If
Next oFile
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...