我現在有一個宏,查找特定的文件名,並根據其結果它專門運行特定的子那個文件:使用多個通配符的.csv文件名
Sub CommandButton3_Click()
Dim i As Integer
Dim fname As Variant
Dim filepath As Variant
'filepath = Application.GetOpenFilename(FileFilter:="Excel File (*.csv), *.scv")
fname = Application.GetOpenFilename(FileFilter:="Excel File (*.csv), *.scv",
Title:="Please select a stat file", MultiSelect:=True)
filepath = ThisWorkbook.Path
For i = 1 To UBound(fname)
If fname(i) = filepath & "\" & "Nodes.csv" Then
Workbooks.Open (fname(i))
Call Node
ElseIf fname(i) = filepath & "\" & "IOGroups.csv" Then
Workbooks.Open (fname(i))
Call IOGrp
ElseIf fname(i) = filepath & "\" & "ManagedDiskGroups.csv" Then
Workbooks.Open (fname(i))
Call MdiskGrp
ElseIf fname(i) = filepath & "\" & "ManagedDisks.csv" Then
Workbooks.Open (fname(i))
Call Mdisk
ElseIf fname(i) = filepath & "\" & "Ports.csv" Then
Workbooks.Open (fname(i))
Call Ports
ElseIf fname(i) = filepath & "\" & "Subsystem.csv" Then
Workbooks.Open (fname(i))
Call Subsystem
ElseIf fname(i) = filepath & "\" & "Volumes.csv" Then
Workbooks.Open (fname(i))
Call Volumes
Else
End If
Next i
End Sub
我想能夠有2個通配符的名稱,即:
If fname(i) = filepath & "\" & "*Node*.csv" Then
這甚至有可能,爲需要這樣的文件以名稱不同的原因,但也有在總是相同的每個文件名根詞中,唯一的問題是通常在根詞之前和之後有什麼東西。有任何想法嗎?另外,目前包含這個宏的工作簿必須與用於工作的文件位於同一個目錄中,是否有改變它的方法?謝謝!
你試過了嗎? (當然,在一個測試文件夾中,有實際文件的幾個副本) – chuff 2013-03-01 22:25:54
所有你想要的東西真的很容易 - 但你試圖做到這一點? – 2013-03-01 22:50:58