Доступ к VBA - Диалоговое окно.Ищем конкретный файл - PullRequest
0 голосов
/ 20 ноября 2018

Теперь у меня есть этот код, чтобы открыть диалоговое окно для поиска конкретного типа файла, .txt с именем memory: memory.txt

Итак:

    Dim S As String
S = OpenCommDlg("C:\memory.txt")

If IsNull(S) Or S = "" Then Exit Sub

К сожалению, это открывает диалоговое окно в C:\, конечно, но ищет архивы типов изображений, что совершенно не то, что я ищу.Вы можете увидеть это на правой стороне прикрепленного изображения:

Dialog box looks for images

Любой знает, как изменить этот код, чтобы найти тот тип архива, который мыищите, и это имя ...

1 Ответ

0 голосов
/ 20 ноября 2018

Вы можете использовать метод FileDialog.Это сохранит полный путь к файлу в вашей строке s, и вы сможете добавить несколько фильтров для фильтрации по типу файла.

Dim s As String

With Application.FileDialog(msoFileDialogFilePicker)
    .Filters.Clear
    .Filters.Add "Text Files", "*.txt"
    .Filters.Add "All Files", "*.*"
    If .Show Then s = .SelectedItems(1)
End With

Debug.Print s

Если вы хотите автоматически заполнить поле ввода своим именем файла, тогда выможно просто добавить эту строку в оператор with:

.InitialFileName = "C:\memory.txt"
...