powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Выбор папки - запомнить последний путь
4 сообщений из 4, страница 1 из 1
Выбор папки - запомнить последний путь
    #34785939
LeCrunch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Использую макрос, который запрашивает у пользователя месторасположение определенной папки, предлагая ему вручную указать путь к ней.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
    With Application.FileDialog(msoFileDialogFolderPicker)
        .InitialFileName = "C:\"
        .Title = "Откройте папку с документами"
        .Show
        
    If .SelectedItems.Count =  0  Then
       MsgBox "Папка не выбрана!"
Для удобства дальнейшей работы, учитывая, что требуемые папки располагаются недалеко друг от друга, нужно чтобы это расположение запоминалось, и при повторном запуске макроса диалоговое окно раскрывалось на последнем варианте.

Как это реализовать?
(Если через реестр, то желательно учесть, что макрос будет запускаться из-под "пользователя")
...
Рейтинг: 0 / 0
Выбор папки - запомнить последний путь
    #34786101
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
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.
Sub start()
Const MyAppName = "ChooseFolder"
Const MySection = "ChooseFolder"
Const MyKey = "ChooseFolder"
Dim PreviousFolder As String

    PreviousFolder = GetSetting(AppName:=MyAppName, _
                                Section:=MySection, _
                                Key:=MyKey, _
                                Default:="c:\")
    
    With Application.FileDialog(msoFileDialogFolderPicker)
            .InitialFileName = PreviousFolder & "\"
            .Title = "Откройте папку с документами"
            .AllowMultiSelect = False
            .Show
            
        If .SelectedItems.Count =  0  Then
           MsgBox "Папка не выбрана!"
        Else
            SaveSetting AppName:=MyAppName, _
                        Section:=MySection, _
                        Key:=MyKey, _
                        Setting:=.SelectedItems( 1 )
        End If
    End With
            
End Sub
...
Рейтинг: 0 / 0
Выбор папки - запомнить последний путь
    #34786103
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
упустил, на счет пользователя, вот так лучше
Код: plaintext
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.
Sub start()
Const MyAppName = "ChooseFolder"
Const MySection = "ChooseFolder"
Dim MyKey As String
Dim PreviousFolder As String


    MyKey = Application.UserName
    
    PreviousFolder = GetSetting(AppName:=MyAppName, _
                                Section:=MySection, _
                                Key:=MyKey, _
                                Default:="c:\")
    
    With Application.FileDialog(msoFileDialogFolderPicker)
            .InitialFileName = PreviousFolder & "\"
            .Title = "Откройте папку с документами"
            .AllowMultiSelect = False
            .Show
            
        If .SelectedItems.Count =  0  Then
           MsgBox "Папка не выбрана!"
        Else
            SaveSetting AppName:=MyAppName, _
                        Section:=MySection, _
                        Key:=MyKey, _
                        Setting:=.SelectedItems( 1 )
        End If
    End With
            
End Sub
...
Рейтинг: 0 / 0
Выбор папки - запомнить последний путь
    #34786706
LeCrunch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо!
Заодно MS-инфу про ветку реестра нашел , где сохраняется информация
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Выбор папки - запомнить последний путь
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]