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