如何将自定义searchfilter添加到我的方法?

我正在写一个涉及从文件夹中获取.csv文件的macros。 macros要求用户input文件夹path,input后,它将获取文件夹中的所有.csv文件,并将其放在工作簿中。

我希望macros询问用户要将什么扩展名加载到工作簿中。

例如,某些文件被命名为Chan_41-103.csv,Chan_41-109.csv和Chan_44-103.csv。 所以如果有办法问用户他们想要什么文件,他们可以input“* -103.csv”,这个macros只会把-103.csv文件作为文件名。

我知道我可以直接硬编码“* -103.csv”,它会这样做,但是,有很多不同名称的文件,我将不得不运行这个macros的一堆文件。 如果可以问用户,那就太好了。

这里是我已经有的代码:

Sub CSV_Sheets() 'This takes the .csv file from a specific folder and puts it into the workbook Dim i As Integer Dim path As String Dim Extension As String Cells(2, 2).Value = InputBox("Extension of File:", "Extension *-#.csv") Extension = Cells(2, 2).Value & "\" i = 1 Range("A1").Value = "CSV Folder Path=" Range("A1").HorizontalAlignment = xlRight Cells(1, 2).Value = InputBox("CSV File Folder Pathway:", "Path Assignment") path = Cells(1, 2).Value & "\" Filename = Dir(path & Extension) Do While Filename <> "" Workbooks.Open Filename:=path & Filename, ReadOnly:=True For Each Sheet In ActiveWorkbook.Sheets Sheet.Copy After:=ThisWorkbook.Sheets(1) Next Sheet Workbooks(Filename).Close Filename = Dir() Loop End Sub 

 Sub test() Dim FolderPath As String Dim xlwb As Excel.Workbook Dim Filename As String Dim path As String FolderPath = "PathToYourFolder" path = FolderPath & "\*" & InputBox("Enter the Extension here.", "Extension Retrieval") & ".csv" Filename = Dir(path) If Filename = "" Then ElseIf Filename <> "" Then Set xlwb = Excel.Workbooks.Open(FolderPath & "\" & Filename) End If End Sub 

星号用作通配符,我用一个名为test-104.csv的文件testing了它,它像一个魅力一样工作