Страницы: 1
RSS
Запись в реестр и диалоговое окно открытия файла
 
Всем привет!
Суть проблемы в следующем:
1. Есть макрос, который запоминает путь к шаблонам excel-файлов при первом запуске. То есть пишет в раздел реестра (стандартный). Со второго запуска проверяет наличие записи в реестре (точнее с первого, но не суть) и использует ее.
2. Есть путь к шаблонам, который макрос выдергивает из реестра и путь к файлам, которые нужно обработать макросом.
3. При выполнении кода я сначала беру путь к файлам для обработки (макрос не привязан к файлу и берет путь из текущего открытого). Макрос запоминает его. Потом я беру путь к шаблонам и сразу при открытии диалогового окна меняю путь. Пользователь выбирает шаблон, окно закрывается и результат выполнения макроса сохраняется по тому пути, где находится файл для обработки. То есть я гоняю пути через CHDir.
вот код для записи в реестр:
Код
    On Error Resume Next: Err.Clear
    pathtodr = GetSetting("PathToDraft", "Path", "Path", 0)
    If pathtodr = 0 Then
    newpath = InputBox("Ââåäèòå ïóòü ê øàáëîíàì", "Çàäàòü ïóòü ê øàáëîíàì")
    SaveSetting "PathToDraft", "Path", "Path", newpath
    End If
    pathtodr = GetSetting("PathToDraft", "Path", "Path", 0)


вот код при работе с файлами:
Код
   ChDir pathtodr
    avfiles = Application.GetOpenFilename("Excel files(*.xls*),*.xls*", 1, "Âûáåðèòå ôàéë-øàáëîí", , False)
    If VarType(avfiles) = vbBoolean Then
        'áûëà íàæàòà êíîïêà îòìåíû - âûõîä èç ïðîöåäóðû
        Exit Sub
    End If
    
    Workbooks.Open avfiles
............................
    FullName = avfiles
    Filename = Dir(FullName) ' Ñðàáîòàåò òîëüêî åñëè ôàéë ïî óêàçàííîìó ïóòè ðåàëüíî ñóùåñòâóåò
    FilePath = Left(FullName, Len(FullName) - Len(Filename))
    
    ChDir pathh
    filesavename = Application.GetSaveAsFilename(, "Excel files(*.xlsx),*.xlsx", 1, "Ñîõðàíèòå ôàéë")
If filesavename <> False Then
Workbooks(Dir(avfiles)).SaveAs filesavename
End If
    ChDir pathtodr
    sravfiles = Application.GetOpenFilename("Excel files(*.xls*),*.xls*", 1, "Âûáåðèòå àêò-ñâåðêè", , False)
    If VarType(sravfiles) = vbBoolean Then
        'áûëà íàæàòà êíîïêà îòìåíû - âûõîä èç ïðîöåäóðû
        Exit Sub
    End If
    Workbooks.Open sravfiles
а теперь вопрос:
как это все организовать для MAC версии? интересует запись в реестр и работа с диалоговыми окнами открытия и сохранения файлов. Причем со сменой папок туда-сюда (чтобы сразу нужные открывались). Смысл в том, что шаблоны и файлы для обработки могут располагаться где угодно, то есть жесткую папку зашить нельзя
Пытался решить сам, но ни в реестр не пишется на маке, ни окна диалоговые не открываются
Заранее спасибо!
Страницы: 1
Наверх