9
A
回答
13
filename*esy
已經是一個「空殼準備」通配符&如果多數民衆贊成送花兒給人的情況下,你可以簡單地;
const SOME_PATH as string = "c:\rootdir\"
...
Dim file As String
file = Dir$(SOME_PATH & "filename*esy" & ".*")
If (Len(file) > 0) Then
MsgBox "found " & file
End If
就調用(或循環播放,直到空)file = Dir$()
拿到下一場比賽。
1
If InStr(sFilename, "filename") > 0 and InStr(sFilename, "esy") > 0 Then
'do somthing
end if
或者你可以使用正則表達式
Dim RE As Object, REMatches As Object
Set RE = CreateObject("vbscript.regexp")
With RE
.MultiLine = False
.Global = False
.IgnoreCase = True
.Pattern = "filename(.*)esy"
End With
Set REMatches = RE.Execute(sFilename)
REMatches(0) 'find match
2
有一個Application.FileSearch
你可以使用(見下文)。您可以使用它來搜索符合您的模式的文件。該信息取自here。
Sub App_FileSearch_Example()
With Application.FileSearch
.NewSearch
.LookIn = "c:\some_folder\"
.FileName = "filename*esy"
If .Execute(SortBy:=msoSortByLastModified, SortOrder:=msoSortOrderDescending) > 0 Then
For i1 = 1 To .FoundFiles.Count
' do something with matched file(s)
Next i1
End If
End With
End Sub
0
我正在嘗試這個問題的功能。這是最終爲我工作的解決方案。
Function fileName(path As String, sName As String, ext As String) As Variant
'path is Full path from root. Can also use path = ActiveWorkbook.path & "\"
'sName is the string to search. ? and * are wildcards. ? is for single char
'example sName = "book?" or sName ="March_*_2014*"
'ext is file extention ie .pdf .xlsm .xls? .j*
Dim file As Variant 'Store the next result of Dir
Dim fname() As String 'Dynamic Array for result set
ReDim fname(0 To 0)
Dim i As Integer ' Counter
i = 0
' Use dir to search and store first result
fname(i) = path & Dir(path & "\" & sName & ext)
i = i + 1
'Load next result
file = Dir
While file <> "" 'While a file is found store that file in the array
ReDim Preserve fname(0 To i) As String
fname(i) = path & file
file = Dir
Wend
fileName = Application.Transpose(fname) 'Print out array
End Function
這適用於我作爲單個或數組函數。
0
如果您知道任何其他文件中包含的順序「文件名」和「ESY」,那麼你可以簡單地使用
Workbooks.Open Filename:= "Filepath\filename*esy.*"
或者,如果你知道丟失的字符,那麼數量(假設4個字符未知)
Workbooks.Open Filename:= "Filepath\filename????esy.*"
我用這個方法來在其上日期&時間戳忽略時間戳部分文件運行代碼。
相關問題
- 1. 當我只知道Matlab中的部分文件名時,如何打開一些xlsx文件?
- 2. 當您只知道部分文件名時,如何打開文件? C++
- 3. 刪除一個文件,我只知道PHP的名字的第一部分
- 4. 我如何知道我是唯一一個打開文件句柄的人?
- 5. 我如何打開python變量作爲文件名的一部分的文件?
- 6. 如何知道如果我打開的文件是一個文本文件或沒有在VB.net
- 7. 我有一個數據文件.88擴展名,但不知道如何打開
- 8. 用R只打開部分已知的文件名打開Excel文件
- 9. 如何讀取完整的文件名,如果我們只知道文件名的一部分,例如,從文件夾中啓動XYZ _----。txt
- 10. 只搜索文件名的一部分文件名已知
- 11. 調用shell - 只知道文件名的一部分
- 12. rails下載文件如果我知道文件名
- 13. Powershell如何使用只知道文件名一部分的測試路徑
- 14. 我如何知道用戶名和密碼,如果我只有一個.sql文件
- 15. 在SFTP上獲取遠程文件,只知道文件名的一部分
- 16. 我不知道如何只寫一次dom文件
- 17. 如果我打開doc.foo文件,我希望emacs在同一個文件夾中查找並打開doc.bar文件
- 18. 如何知道文件已打開? QT
- 19. 如何獲取文件的文件路徑我只知道名稱? C#
- 20. 我如何知道UIDocumentInteractionController無法打開文件?
- 21. 如何使Firefox打開一個文件名爲&的文件?
- 22. 如果我知道只有這個名稱的一個元素(XML(PHP DOM)),我該如何選擇它?
- 23. 打開文件時不知道名稱
- 24. 如果我們打開一個文件,當用戶打開相同的文件時不會再次打開
- 25. 如果y只有名稱和路徑,我可以知道文件擴展名
- 26. 用vb.net打開一個文本文件,如果它存在刪除該文件
- 27. 我如何知道誰簽出了一個文件?
- 28. 打開文件只知道它的名字
- 29. 我如何分割一個RTF文件
- 30. 我有一個文件名的一部分的列表,我想要通過與該部分相匹配的目錄中的文件並返回文件名
由於某種原因,我假設文件已打開。哎呀 – Glennular 2010-05-18 21:32:56