在文件夹中循环浏览文件时,按名称排除某些文件



下面的代码循环浏览文件夹中的文件,并将文件名添加到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:DesktopFILES")
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

不得不使用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

最新更新