FileDialog приложения .InitialFilename или. Filter с шаблоном Regex - PullRequest
0 голосов
/ 20 января 2020

Может ли 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 для ограничения списка?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...