使用文件对话框时,如果文件名包含单词,则过滤文件

问题描述 投票:0回答:1

我想在使用文件对话框选择文件时过滤文件。我想排除名称中包含“冲突”的任何文件。这可能吗?

Sub OpenMultipleFiles()
Dim fd As FileDialog
Dim fileChosen As Integer
Dim basename As String
Dim fso As Variant
Set fso = CreateObject("Scripting.FileSystemObject")
Set fd = Application.FileDialog(msoFileDialogFilePicker)
basename = fso.getBaseName(ActiveWorkbook.Name)
fd.InitialFileName = ActiveWorkbook.Path ' Set Default Location to the Active Workbook Path
fd.InitialView = msoFileDialogViewList
fd.AllowMultiSelect = True
fd.Filters.Add "All supported files", "*.xlsm"

fileChosen = fd.Show
If fileChosen = -1 Then

    StartAlgo

    Dim myArray As Variant
    Dim FullPath As String
    Dim FileName As String
    Dim x As Long
    
    'open each of the files chosen
    For x = 1 To fd.SelectedItems.Count
        FullPath = fd.SelectedItems(x)
        FileName = fso.getFileName(fd.SelectedItems(x))
        CopyContractTbls FullPath, FileName
    Next x

    EndAlgo
Else
    MsgBox "Aborted"
    Exit Sub
End If

End Sub
excel vba openfiledialog
1个回答
0
投票

相反的情况也是可能的。您可以通过在 .InitialFilename 中以“c:\AnyFolder\FileName1; FileName2; ...”格式指定要列出的所有文件来包含这些文件。 可以提供多个文件名,带或不带文件扩展名,甚至部分带有星号和任何组合,例如'荧光 PQR 2024.xlsx; FET*' 然后你会得到“Flucose PQR 2024.xlsx”和“FET PQR 2024.xlsx”

© www.soinside.com 2019 - 2024. All rights reserved.