Application / Метод
Application.GetOpenFilename
Диалог открытия — Диалог выбора файла, без открытия книги.
GetOpenFilename([FileFilter], [FilterIndex], [Title], [ButtonText], [MultiSelect])
Параметры
| Имя | Тип | Описание | |
|---|---|---|---|
FileFilter |
Variant | необяз. | Строка фильтра, пары «описание,маска». |
MultiSelect |
Variant | необяз. | True — можно выбрать несколько файлов, результат массив. |
Когда использовать
Когда путь должен выбрать пользователь. Возвращает False, если отмена.
Версии и среда
Excel 2007–365
Минимальный пример
Dim path As Variant
path = Application.GetOpenFilename("Книги Excel,*.xlsx;*.xlsm")
If path = False Then Exit Sub
Workbooks.Open CStr(path)
Типичный сбой
Сравнивают path с "" вместо False; при MultiSelect:=True приходит массив.
Рецепты
-
Сравнить две книги по коду и подсветить расхождения красным
Нужно сверить номенклатуру и количества в двух выгрузках и сразу увидеть, что не сошлось, в обеих книгах.
-
Перенести заливку строк из старой книги в новую
Новая книга покупок без цветов, а в старой строки уже размечены заливкой — нужно перенести разметку по совпадению значения.
Рядом в Application
Quit ActiveWorkbook ActiveSheet ActiveCell Workbooks ScreenUpdating DisplayAlerts EnableEvents