我是VBA的新手,没有任何正式的培训,但能够通过复制和修改代码来做我需要的事情。我需要一些帮助来修改这个。就像现在一样,这将把所有文件路径放在列A中,用于文件夹中的所有文件。我想要做的只是获取包含关键字的文件的文件路径。谢谢你能给我的任何帮助。
Sub File_List()
Dim objFSO As Object
Dim objFolder As Object
Dim objFile As Object
Dim i As Integer
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder("C:\user\temp")
i = 1
For Each objFile In objFolder.Files
Cells(i + 1, 1) = objFile.path
i = i + 1
Next objFile
End Sub
答案 0 :(得分:0)
您可以使用Instr()检查关键字是否在文件名中:
If Len(InStr(1, objFile.Path, "KEYWORD", vbTextCompare)) > 0 Then
InStr返回子字符串的位置(如果找到),否则返回0。 在For Each循环中使用它。
答案 1 :(得分:0)
Sub File_List()
Dim objFSO As Object
Dim objFolder As Object
Dim objFile As Object
Dim i As Integer
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder("C:\user\temp")
i = 1
For Each objFile In objFolder.Files
If LCase(objFile.Name) Like "*keywordhere*" Then
Cells(i + 1, 1) = objFile.Path
Cells(i + 1, 2) = objFile.Name
i = i + 1
End If
Next objFile
End Sub