Я тут нашел примерчик по созданию класса в виде своего диалогового окна по открытию файлов с заданным "мною" расширением. Здесь создана переменная типа структуры, которая содержит проперты своих компонентов.
Также здесь создан метод вызова диалогового окна, который принимает параметры — строка фильтра, строка расширений, начальный каталог, строка заголовка окна.
(Возвращает полное имя файла.)
(это не весь код.....)
- Код: Выделить всё
Public Function OpenFile(szFilter As String, _
Optional szDefExt As String, _
Optional szInitDir As String, _
Optional szCaption As String) As String
With ownFileDlg ' переменная типа структуры
.hInstance = 0
.hwndOwner = GetActiveWindow()
.strFile = String(255, 0)
.intMaxFile = 255
.strFilter = szFilter
.intMaxCustFilter = Len(szFilter)
.strFileTitle = String(255, 0)
.intMaxFileTitle = 255
.strDefExt = szDefExt
.strInitialDir = szInitDir
.strTitle = szCaption
.lngFlags = OFN_FILEMUSTEXIST Or OFN_EXTENTIONDIFFERENT
.lngStructSize = Len(ownFileDlg)
End With
If GetOpenFileName(ownFileDlg) Then
OpenFile = ownFileDlg.strFile
End If
так вот меня интересует "строка фильтра" - szFilter В дальнейшем коде
- Код: Выделить всё
TextBox1.Value = dlgFiler.OpenFile("XLS- файлы" & _
vbNullChar & "*.XLS", , , "Выбирете экселевский файл")
я не пойму смысл константы vbNullChar. Если она указана, то фильтр по расширениям срабатывает, а если не указана
- Код: Выделить всё
TextBox1.Value = dlgFiler.OpenFile("XLS- файлы" & _
vbNullChar & "*.XLS", , , "Выбирете экселевский файл
то файлы не фильтруются по расширению. Народ, что это за константа и почему так происходит?[/b][/quote]