Структура OPENFILENAME

Type OPENFILENAME
  lStructSize As Long
  hwndOwner As Long
  hInstance As Long
  lpstrFilter As String
  lpstrCustomFilter As String
  nMaxCustomFilter As Long
  nFilterIndex As Long
  lpstrFile As String
  nMaxFile As String
  lpstrFileTitle As String
  nMaxFileTitle As String
  lpstrInitialDir As String
  lpstrTitle As String
  flags As Long
  nFileOffset As Integer
  nFileExtension As Integer
  lpstrDefExt As String
  lCustData As Long
  lpfnHook As Long
  lpTemplateName As String
End Type

OPENFILENAME-переменные работают с двумя диалоговыми окнами Windows, GetOpenFileName and GetSaveFileName. Эта структура используется как и для передачи информации функции, так и для возвращения данных от нее

Состав структуры
lStructSize
Размер переменной в байтах (используйте функцию Len () )
hwndOwner
Дескриптор окна, открывающего диалоговое окно
hInstance
При использовании шаблона диалогового окна, это - дескриптор к блоку памяти шаблона диалогового окна. При использовании заданного по умолчанию диалогового окна, установите в 0
lpstrFilter
Записи в поле Тип файлов. Формат строки - " название типа файла " & vbNullChar & "маска" & vbNullChar ... для многих типов, где название типа файла - текст, который появляется в списке и маска - маска расширения. Строка должна закончиваться двойным vbNullChar
lpstrCustomFilter
Сходен с lpstrFilter, но содержит только один тип файла / маску, определяемые пользователем. Если не используется, установите как пустую строку
nMaxCustFilter
Размер строки в байтах, содержащейся в lpstrCustomFilter
nFilterIndex
Номер (#1, #2 и т.д.) данных структуры,определяемых lpstrFilter должен быть задан по умолчанию
lpstrFile
Установите это как ряд пробелов. Получает законченный путь и имя файла файла (ов), выбранных пользователем. Если выбрано несколько файлов, каждое имя файла отделено vbNullChar, и вся строка закончивается двойным vbNullChar
nMaxFile
Длина в символах lpstrFile
lpstrFileTitle
Очень похоже на lpstrFile, но получает только имя выбранного файла
nMaxFileTitle
Длина в символах lpstrFileTitle
lpstrInitialDir
Основная папка для поиска
lpstTitle
Текст, который появляется в заголовке диалогового окна
flags
Нуль или большее количество следующих флажков, определяющих, как создавать файловое диалоговое окно. Некоторые из этих флажков будут установлены функцией после запроса пользователя
OFN_ALLOWMULTISELECT = &H200
Разрешение пользователю выбирать несколько файлов (только для окна Выбор файла)
OFN_CREATEPROMPT = &H2000
Предложение, если выбран несуществующий файл
OFN_ENABLEHOOK = &H20
Используйте функцию, указанную lpfnHook, чтобы обработать сообщения диалогового окна
OFN_ENABLETEMPLATE = &H40
Используйте шаблон диалогового окна,определенный hInstanceи lpTemplateName.
OFN_ENABLETEMPLATEHANDLE = &H80
Используйте предварительно загруженный шаблон диалогового окна, указанный в hInstance.
OFN_EXTENSIONDIFFERENT = &H400
Функция устанавливает этот флажок, если пользователь выбирает файл расширением, отличным от указанной переменной lpstrDefExt
OFN_FILEMUSTEXIST = &H1000
Разрешен выбор только существующих файлов
OFN_HIDEREADONLY = &H4
Скрыть флажок Только чтения (только для диалогового окна Открытие файла).
OFN_NOCHANGEDIR = &H8
Не меняйте текущий каталог Windows для соответствия выбранному в диалоговом окне
OFN_NODEREFERENCELINKS = &H100000
Если выбран ярлык(.lnk или .pif), возвращается непосредственно ярлык вместо файла или папки.
OFN_NONETWORKBUTTON = &H20000
Скрыть и отключить кнопку Network в диалоговом окне
OFN_NOREADONLYRETURN = &H8000
Функция устанавливает этот флажок, если выбранный файл не только для чтения (только для диалогового окна Открытие файла)
OFN_NOVALIDATE = &H100
Не отмечать имя файла c запрещенными символами
OFN_OVERWRITEPROMPT = &H2
Запрос пользователю, если выбранный файл уже существует (только для диалогового окна Сохранение файла)
OFN_PATHMUSTEXIST = &H800
Разрешен выбор только существующих путей
OFN_READONLY = &H1
Отметить поле Открыть только для чтения. Этот флажок установливается после вызова функции, если поле отмечено после нажатия OK пользователем
OFN_SHAREAWARE = &H4000
Игнорирование любых ошибок совместного доступа файла
OFN_SHOWHELP = &H10
Показ кнопки Справка в диалоговом окне
nFileOffet
Получает отсчитываемый от нуля индекс, определяющий,где кончается имя пути и начинается имя файла lpstrFile
nFileExtension
Получает отсчитываемый от нуля индекс, определяющий, где начинается расширение файла lpstrFile
lpstrDefExt
Заданное по умолчанию расширение файла (только для диалогового окна Сохранение файла). Если файл выбран с маской *.*, файл получает это расширение
lCustData
Информация для передачи функции обработчика прерываний, указанной в lpfnHook
lpfnHook
Укажите на функцию обработчика прерываний, которая обрабатывает сообщения диалогового окна. Функция должна возвратить 0, чтобы передать сообщение назад к диалоговому окну и 1, чтобы не передавать. При не использовании функции обработчика прерываний, установите в 0
lpTemplateName
Имя шаблона диалогового окна, указанного в hInstance
Используется в: GetOpenFileName, GetSaveFileName