我编写了一个代码,其中有一个浏览对话框,用于选择多个文件并将文件名保存在数组中,并逐个循环执行基于文件名中的关键字的操作。
感谢任何帮助
fNameAndPath = Application.GetOpenFilename(fileFilter:="Excel Files (*.CSV), *.CSV", Title:="Select File To Be Opened", MultiSelect:=True)
If Not IsArray(fNameAndPath) Then Exit Sub
For Each MyFile In fNameAndPath
Set wb = Workbooks.Open(MyFile)==========(how to search for specific file name in myfile array..
' do stuff with workbook that has been opened
if myfile= "*test_one*" then
Set Fnd1 = Range("A1")
Qty1 = WorksheetFunction.CountIf(Rows(1), "*shop3**high*")
For Cnt1 = 1 To Qty1
Set Fnd1 = Rows(1).Find("*shop3**high*",Fnd1, , xlWhole, , , False, , False)
max_num = Application.WorksheetFunction.Max(Fnd1.EntireColumn) ' maxnum value is copied to a cell in submit button
Next Cnt1
elseif myfile="*test_last*" then
'similar to macro1
elseif myfile=test3.csv then
similar to macro1
end if.
wb.Close SaveChanges:=False
Next MyFile
End Sub
答案 0 :(得分:1)
if myfile= "*test_one*" then
如果您正在寻找文件名的一部分,那么您需要这样的内容:
If LCase(myfile) Like "*test_one*" Then