2013-12-21 2 views
3

У VBA есть трудности с поиском моих файлов с помощью подстановочного знака *. Есть ли проблема с синтаксисом в этом выражении?Подстановочный знак VBA

Workbooks.Open Filename:="C:\Users\xxxx\Desktop\xxxx Charts\xxxx Source Files\*_history_" & myYear & "-" & myMonth & "-" & mydate & "_" & myHour & "h" & myminute & "m" & "00s_xxx_all_xxx.csv" 

где подстановочные я пытаюсь соответствовать является заглавная буква, номер, номер, число, дефис, номер, номер, номер, номер, как это: A999-9999

Примечание: если я печатаю из A999-9999 (например) он запускается, поэтому, похоже, не проблема с переменными или остальной частью инструкции.

Благодарим за помощь.

+1

@portlandrunner FileSearch осуждался в Office 2007 - не очень хорошая идея – brettdj

ответ

1

Что-то вроде этого указало на свой каталог, чтобы найти все файлы csvсоответствия «- .csv» со второй проверкой этапа, чтобы открыть первый файл соответствующего нужного шаблона файла

Sub LoopThroughFiles() 
    Dim StrFile As String 
    Dim bFound As Boolean 
    Dim WB As Workbook 
    StrFile = Dir("c:\temp\*-*.csv") 
    Do While Len(StrFile) > 0 
    If StrFile Like "[A-Z]###-####.csv" Then 
    Set WB = Workbooks.Open("c:\temp\" & StrFile) 
    bFound = True 
    Exit Do 
    Else 
     StrFile = Dir 
    End If 
    Loop 
    If Not bFound Then MsgBox "File not found", vbCritical 
End Sub 
Смежные вопросы