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