如何通过excel vba搜索文件夹中的csv文件?

时间:2014-03-13 16:41:16

标签: excel vba excel-vba csv

我正在使用excel vba在csv文件中查找与给定字符串匹配的记录 我需要帮助搜索文件夹中的所有csv文件以获取特定字符串,并获取包含搜索字符串的文件名,并从文件中获取行本身。该字符串将始终显示在CSV的B列中。提前致谢

2 个答案:

答案 0 :(得分:2)

启动命令提示符并导航到包含CSV文件的文件夹可能更容易。然后你可以这样做:

FINDSTR /N /I "something" *.CSV

其中“某事”就是你要找的东西。

答案 1 :(得分:0)

这将返回找到匹配项的第一个文件,在http://www.ggkf.com/excel/vba-macro-to-search-a-folder-for-keyword

中找到
Sub loopThroughFiles()
Dim file As String
file = FindFiles("putyourpathname eg.c:\reports", "search string")
If (file <> "") Then MsgBox file
End Sub
Function FindFiles(ByVal path As String, ByVal target As String) As String
' Run The Shell Command And Get Output
Dim files As String
files = CreateObject("Wscript.Shell").Exec("FINDSTR /M """ & target & """ """ & path &     "\*.*""").StdOut.ReadAll
FindFiles = ""
If (files <> "") Then
    Dim idx As Integer
    idx = InStr(files, vbCrLf)
    FindFiles = Left(files, idx - 1)
End If
End Function