2016-03-29 62 views
0

我是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 
+1

什麼類型的文件?文件內容或文件名稱中的關鍵字? –

+0

首先感謝您的幫助。這些文件是.pdf .doc .txt(稍後可能會有更多類型)。關鍵字只能用於文件名。現在我有一個運行上面的代碼的Excel工作表,並拉出所有的文件名,然後設置工作表(使用正常的Excel搜索和匹配命令)來查找女巫的關鍵字。我正試圖用VBA來做同樣的事情。我拉的文件夾有2000多個文件,並且正在增長 – Xcr1000

回答

0

您可以使用INSTR()來檢查關鍵字的文件名:

If Len(InStr(1, objFile.Path, "KEYWORD", vbTextCompare)) > 0 Then 

InStr返回子串的位置。如果發現,如果沒有,則返回0。 在For Each循環中使用它。

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 
+0

Perfecto!非常感謝你的幫助。 – Xcr1000

相關問題