0

我编写了一个代码,它具有浏览对话框来选择多个文件并将文件名保存在数组中,并根据文件名中的关键字逐个循环它们执行操作。

  1. 因为它具有多选选项,所以我想根据文件名中的关键字执行特定操作
  2. 我被困在数组中的循环文件名中。我 dkw 哪里出错了
  3. 如果我错了,请纠正我的语法,请耐心等待,因为我对 VBA 很陌生
  4. 感谢任何帮助

    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
    
4

1 回答 1

1
if myfile= "*test_one*" then

如果您正在寻找文件名的一部分,那么您需要这样的内容:

If LCase(myfile) Like "*test_one*" Then
于 2018-02-23T17:25:22.207 回答