Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
2 / 2 / 0
Регистрация: 23.04.2011
Сообщений: 159
1

Как можно ловить нажатие кнопки Open в диалоговом окне xlDialogOpen?

22.07.2011, 19:03. Просмотров 1244. Ответов 2
Метки нет (Все метки)

Как можно ловить нажатие кнопки Open в диалоговом окне xlDialogOpen?

На самом деле, мне нужно создать возможность указать программе папку где находятся нужние фаили(их несколько в этой папке) с которыми она потом работает.
Другими словами, указать в 'проводнике' путь к папке и этот путь сохранить в переменной sPath.
Спасибо заранее!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.07.2011, 19:03
Ответы с готовыми решениями:

Программное нажатие кнопки "сохранить" в диалоговом окне Word
Здравствуйте! В диалоговом окне "Сохранить как" (word) необходимо автоматически нажать кнопку...

Нажатие кнопки в диалоговом окне
Добрый день! У меня проблема с нажатием кнопки в диалоговом окне загрузки файла а IE8. Вылазит...

Нажатие кнопки в другом окне через window.open
В первом окне выполняется скрипт с window.open, открывается другое окно и нужно нажать в нем...

WM_SIZE и кнопки в диалоговом окне
Всем привет! Создаю диалоговое окно из rc-файла, начальные размеры окна и координаты кнопок...

2
13 / 13 / 2
Регистрация: 23.03.2010
Сообщений: 635
22.07.2011, 23:10 2
Для Excel XP и 2003:
Visual Basic
1
2
3
4
5
6
7
8
Sub Example()
With Application.FileDialog(msoFileDialogFolderPicker)
    .InitialFileName = 'D: '
    .Title = 'Выбор папки'
    .Show
    If .SelectedItems.Count = 1 Then sPath = .SelectedItems(1)
End With
End Sub
0
2 / 2 / 0
Регистрация: 23.04.2011
Сообщений: 159
23.07.2011, 01:59  [ТС] 3
Спасибо за ответ но у меня Office 2000.
А решение я нашел в интернете (через API):

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Private Type BROWSEINFO ' used by the function GetFolderName
    hOwner As Long
    pidlRoot As Long
    pszDisplayName As String
    lpszTitle As String
    ulFlags As Long
    lpfn As Long
    lParam As Long
    iImage As Long
End Type
 
Private Declare Function SHGetPathFromIDList Lib 'shell32.dll' _
    Alias 'SHGetPathFromIDListA' (ByVal pidl As Long, ByVal pszPath As String) As Long
Private Declare Function SHBrowseForFolder Lib 'shell32.dll' _
    Alias 'SHBrowseForFolderA' (lpBrowseInfo As BROWSEINFO) As Long
 
Function GetFolderName(Msg As String) As String
' returns the name of the folder selected by the user
Dim bInfo As BROWSEINFO, path As String, r As Long
Dim X As Long, pos As Integer
    bInfo.pidlRoot = 0& ' Root folder = Desktop
    If IsMissing(Msg) Then
        bInfo.lpszTitle = 'Select a folder.'
        ' the dialog title
    Else
        bInfo.lpszTitle = Msg ' the dialog title
    End If
    bInfo.ulFlags = &H1 ' Type of directory to return
    X = SHBrowseForFolder(bInfo) ' display the dialog
    ' Parse the result
    path = Space$(512)
    r = SHGetPathFromIDList(ByVal X, ByVal path)
    If r Then
        pos = InStr(path, Chr$(0))
        GetFolderName = Left(path, pos - 1)
    Else
        GetFolderName = ''
    End If
End Function
 
Sub TestGetFolderName()
Dim FolderName As String
    FolderName = GetFolderName('Select a folder')
    If FolderName = '' Then
'        MsgBox 'You didn't select a folder.'
    Else
        MsgBox 'You selected this folder: ' & FolderName
    End If
End Sub
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.07.2011, 01:59

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Пропали кнопки в диалоговом окне
Собственно говоря всё как на скриншоте, что делать что бы было всё ок? Вытащить за угол меняя...

Не работают кнопки в диалоговом окне
Здравствуйте, тут такая проблема возникла, в общем, я создаю базу данных, затем подгружаю из файла...

Три кнопки в диалоговом окне
Было у меня диалоговое окно. И было у него две кнопки — одна была подключена к слоту accept(),...

Можно ли в диалоговом окне вывести кнопку «распахнуть» ?
По умолчанию в диалоговом окне есть только одна кнопка в заголовке – крестик «закрыть окно». А...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.