1

Тема: HTA: Обзор папок на HTA (Запомнить путь выбранный ранее)

Ранее в теме http://forum.script-coding.com/viewtopic.php?id=9113 вели обсуждения по схожей проблеме. Решил не поднимать прошлую тему, а создать новую.
Пользователь выбирает директорию для нахождения файла заходит в структуру каталогов, но допустим ему нужно выбрать повторно обзор и выбрать необходимую директорию с файлами и пользователю приходится заново проходить весь путь размещения каталогов что б найти свою папку.

Вопрос: "Возможно ли запомнить каталог который пользователь выбрал ранее?"



    Set objFolder = CreateObject("Shell.Application").BrowseForFolder(0, "Выберите каталог размещения файлов:", &H1 Or &H10 Or &H200 Or &H11, &H11 ) 
        If objFolder Is Nothing Then
            MsgBox "Не выбран каталог размещения файлов"
            'DynamicContent_Div.InnerHTML = "Не выбран каталог размещения файлов"
            
        Else
            Dim UserChooseFolder
            UserChooseFolder = objFolder.Items.Item.path

                End IF

Теоретически предполагаю что переменную UserChooseFolder нужно запомнить и потом данную переменную использовать в параметрах, но как сделать что б все диски и рабочий стол так же отображался, а не только открытый данный путь пока не пойму.

2

Re: HTA: Обзор папок на HTA (Запомнить путь выбранный ранее)

Сохраните рядом временный файл (типа конфиг), в котором будет запоминаться путь. 4й аргумент BrowseForFolder как раз отвечает за папку по умолчанию.

3

Re: HTA: Обзор папок на HTA (Запомнить путь выбранный ранее)

Проблема в том, что когда выставляешь путь 4м параметром уже выбрать другой диск невозможно или зайти в другую папку уровнем выше..

4

Re: HTA: Обзор папок на HTA (Запомнить путь выбранный ранее)

У  mozers есть утилита UFEBS_Viewer
Можно поигратся с первым параметром объекта HtmlDlgHelper.OpenFileDlg  "c:\\UserFolder\\*"

function DialogOpenFile() {
    var dialog = '<object id="HtmlDlgHelper" width=0 height=0 classid="clsid:3050F4E1-98B5-11CF-BB82-00AA00BDCE0B"></object>';
    document.body.insertAdjacentHTML('beforeEnd', dialog);
    var fname = HtmlDlgHelper.OpenFileDlg("c:\\UserFolder\\*","","XML-документы (*.xml)|*.xml|Все файлы (*.*)|*.*|", "Открытие документа УФЭБС");
    HtmlDlgHelper.outerHTML = '';
    if (!fname) self.close(); // при отказе от выбора закрываем приложение
    return fname;
}