Всем привет!
Суть проблемы в следующем:
1. Есть макрос, который запоминает путь к шаблонам excel-файлов при первом запуске. То есть пишет в раздел реестра (стандартный). Со второго запуска проверяет наличие записи в реестре (точнее с первого, но не суть) и использует ее.
2. Есть путь к шаблонам, который макрос выдергивает из реестра и путь к файлам, которые нужно обработать макросом.
3. При выполнении кода я сначала беру путь к файлам для обработки (макрос не привязан к файлу и берет путь из текущего открытого). Макрос запоминает его. Потом я беру путь к шаблонам и сразу при открытии диалогового окна меняю путь. Пользователь выбирает шаблон, окно закрывается и результат выполнения макроса сохраняется по тому пути, где находится файл для обработки. То есть я гоняю пути через CHDir.
вот код для записи в реестр:
вот код при работе с файлами:
а теперь вопрос:
как это все организовать для MAC версии? интересует запись в реестр и работа с диалоговыми окнами открытия и сохранения файлов. Причем со сменой папок туда-сюда (чтобы сразу нужные открывались). Смысл в том, что шаблоны и файлы для обработки могут располагаться где угодно, то есть жесткую папку зашить нельзя
Пытался решить сам, но ни в реестр не пишется на маке, ни окна диалоговые не открываются
Заранее спасибо!
Суть проблемы в следующем:
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 версии? интересует запись в реестр и работа с диалоговыми окнами открытия и сохранения файлов. Причем со сменой папок туда-сюда (чтобы сразу нужные открывались). Смысл в том, что шаблоны и файлы для обработки могут располагаться где угодно, то есть жесткую папку зашить нельзя
Пытался решить сам, но ни в реестр не пишется на маке, ни окна диалоговые не открываются
Заранее спасибо!