как создать кнопку "Обзор"?

Программирование на Visual Basic for Applications
Бандикут
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 30.06.2004 (Ср) 16:20

как создать кнопку "Обзор"?

Сообщение Бандикут » 30.06.2004 (Ср) 16:30

нужно создать диалоговое окно с текстовым полем для ввода полного адреса (пути) файла, но чтоб не руками его вводить, а выбрать после нажатия кнопки "Обзор". ну, в общем, как это обычно происходит в Windows

VikHion
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 14.10.2003 (Вт) 11:20
Откуда: Kirovograd

Сообщение VikHion » 01.07.2004 (Чт) 7:06

Привет.Через WinApi
Нужно создать структуру
Type OPENFILENAME
lngStructSize As Long 'Размер структуры
hwndOwner As Long 'Дескриптор окна владельца
hInstance As Long 'Экземпляр шаблона
strFilter As String 'Строка фильтра
strCustomFilter As String 'Строка с выбранным фильтром
intMaxCustFilter As Long 'Len(strCustomFilter)
intFilterIndex As Long 'Индекс строки фильтра
strFile As String 'Выбранный файл и путь
intMaxFile As Long 'Len(strFile)
strFileTitle As String 'Выбранное имя файла
intMaxFileTitle As Long 'Len(strFileTitle)
strInitialDir As String 'Имя католога
strTitle As String 'Заголовок диалогового окна
lngFlags As Long 'Флаги диалогового окна
intFileOffset As Integer 'Смещение имени файла
intFileExtention As Integer 'Смещение расширения файла
strDefExt As String 'Расширение файла по умолчанию
lngCustData As Long 'Данные для обработки
lngfnHook As Long 'LP для функции обработки
strTemplateName As String 'Имя шаблона диалогового окна
End Type

И задекларировать функции

Declare Function GetOpenFileName Lib "comdlg32.dll" _
Alias "GetOpenFileNameA" (ofn As OPENFILENAME) As Boolean

Declare Function GetSaveFileName Lib "comdlg32.dll" _
Alias "GetSaveFileNameA" (ofn As OPENFILENAME) As Boolean

Более подробно в книге книги "VBA Developer's Handbook"
'Кена Гетца (Ken Getz) и Майка Дилберта (Mike Gilbert), может кто ссылку кинет, я видел в инете пример на эту тему но найти сейчас не смог.

KocTeJIoM
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 30.06.2004 (Ср) 11:56

Сообщение KocTeJIoM » 01.07.2004 (Чт) 10:23

Можно сделать все гораздо проще используй фунцию

GetOpenFilename
Примерчик из справки:)

fileToOpen = Application _
.GetOpenFilename("Text Files (*.txt), *.txt")
If fileToOpen <> False Then
MsgBox "Open " & fileToOpen
End If

AndreyV
Начинающий
Начинающий
 
Сообщения: 24
Зарегистрирован: 13.02.2004 (Пт) 16:16

Сообщение AndreyV » 01.07.2004 (Чт) 12:59


Бандикут
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 30.06.2004 (Ср) 16:20

Сообщение Бандикут » 02.07.2004 (Пт) 8:20

Спасибо огромное!!


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 114

    TopList