Может ли Application.FileDialog.InitialFileName
ИЛИ Application.FileDialog.InitialFileName
быть установлен на шаблон Regex, чтобы он мог show
только файлы, которые соответствуют этому шаблону?
Скажем, 2 типа файлов:
CSV-файлы:
- Выполнено - Con1 - Core.csv
- Выполнено - Con12 - Core.csv
- Выполнено - Con56 - Core.csv
- ...
PNG-файлов:
- ConImageOri18.png
- ConImageOri10 .png
- ConImageOri1.png
- ConImageForEn10.png 'exclude
- ConImageForEn22.png' exclude
- ConImageForEn11.png 'exclude
- ConImage1 - Core.png
- ConImage1 - Не нравится - Core.png 'exclude
- ConImage1 - Likes - Core.png' exclude
Из приведенного выше списка, например в файлах png
я хочу исключить файлы, помеченные мной как exclude
.
Set oDialog = Application.FileDialog(msoFileDialogFilePicker)
With oDialog
.InitialFileName = sFullRemoteDirectory
.InitialView = msoFileDialogViewLargeIcons
.Filters.Clear
Set rgx = CreateObject("VBScript.RegExp")
For i = LBound(arrFiles, 1) To UBound(arrFiles, 1) 'Loop thru filenames
If arrFiles(i, 1) <> "" Then
With rgx
Select Case arrFiles(i, 1)
Case Is = "ConImage*.png"
.Pattern = "ConImage[^F]*.*\i"
Case Is = "Complete - Con*.csv"
.Pattern = "Complete - Con[0-9\- ]+\w+\.csv"
End Select
.IgnoreCase = True
End With
End If
'.InitialFileName = Left(arrFiles(i, 1), InStrRev(arrFiles(i, 1), ".") - 1) & ".*"
.InitialFileName = rgx.Pattern
If .Show = -1 Then
' some code...
End If
Next i
End With
Возможно ли это в Application.FileDialog.InitialFileName
ИЛИ Application.FileDialog.Filters
? Есть ли альтернативный способ добиться этого, используя Application.FileDialog
вместо циклического перебора .SelectedItems
и затем используя Regex для ограничения списка?