如果path包含字符串,则跳过子文件夹

时间:2018-02-16 11:03:20

标签: vba excel-vba excel

我有一个VBA excel宏来搜索文件夹并将文件从任意子文件夹复制到另一个文件夹,它可以正常工作(你可以在下面找到它)。

<Elem {...{ x, y, z }} />

我想在宏搜索的文件夹中添加一个过滤器。我想跳过路径中包含字符串“2017”或“2G”的任何子文件夹,但字符串不是路径的最后一部分,请参阅下面的示例:

Sub Cloud_SII()
Application.ScreenUpdating = False
Call Pulisci_fogli
Dim FileSystem As Object
Dim HostFolder As String
HostFolder = "O:\EE\Flussi Del. 65-12\Cloud_SII"
Set FileSystem = CreateObject("Scripting.FileSystemObject")
DoFolder FileSystem.GetFolder(HostFolder)
End Sub

Sub DoFolder(Folder)
Dim SubFolder, File
For Each SubFolder In Folder.SubFolders
DoFolder SubFolder
For Each File In Folder.Files
If DateDiff("d", File.DateLastModified, Date) < 1 And File.Name Like "*zip*" Then
File.Copy "O:\EE\Flussi Del. 65-12\Cloud_SII_Smistatore\"
End If
Next
End Sub

有没有办法让代码跳过包含这些字符串的路径?

1 个答案:

答案 0 :(得分:0)

您可以使用VBA函数INSTRreference)并检查您的文件夹名称是否包含这些字符串:

If InStr(1, SubFolder, "2G", vbTextCompare) > 0 Or 
   InStr(1, SubFolder, "2017", vbTextCompare) Then ...