Всем привет! Суть проблемы в следующем: 1. Есть макрос, который запоминает путь к шаблонам excel-файлов при первом запуске. То есть пишет в раздел реестра (стандартный). Со второго запуска проверяет наличие записи в реестре (точнее с первого, но не суть) и использует ее. 2. Есть путь к шаблонам, который макрос выдергивает из реестра и путь к файлам, которые нужно обработать макросом. 3. При выполнении кода я сначала беру путь к файлам для обработки (макрос не привязан к файлу и берет путь из текущего открытого). Макрос запоминает его. Потом я беру путь к шаблонам и сразу при открытии диалогового окна меняю путь. Пользователь выбирает шаблон, окно закрывается и результат выполнения макроса сохраняется по тому пути, где находится файл для обработки. То есть я гоняю пути через CHDir. вот код для записи в реестр: [vba]
Код
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)
[/vba]
вот код при работе с файлами: [vba]
Код
ChDir pathtodr avfiles = Application.GetOpenFilename("Excel files(*.xls*),*.xls*", 1, "Âûáåðèòå ôàéë-øàáëîí", , False) If VarType(avfiles) = vbBoolean Then 'áûëà íàæàòà êíîïêà îòìåíû - âûõîä èç ïðîöåäóðû Exit Sub End If
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
[/vba] а теперь вопрос: как это все организовать для MAC версии? интересует запись в реестр и работа с диалоговыми окнами открытия и сохранения файлов. Причем со сменой папок туда-сюда (чтобы сразу нужные открывались). Смысл в том, что шаблоны и файлы для обработки могут располагаться где угодно, то есть жесткую папку зашить нельзя Пытался решить сам, но ни в реестр не пишется на маке, ни окна диалоговые не открываются Заранее спасибо!
Всем привет! Суть проблемы в следующем: 1. Есть макрос, который запоминает путь к шаблонам excel-файлов при первом запуске. То есть пишет в раздел реестра (стандартный). Со второго запуска проверяет наличие записи в реестре (точнее с первого, но не суть) и использует ее. 2. Есть путь к шаблонам, который макрос выдергивает из реестра и путь к файлам, которые нужно обработать макросом. 3. При выполнении кода я сначала беру путь к файлам для обработки (макрос не привязан к файлу и берет путь из текущего открытого). Макрос запоминает его. Потом я беру путь к шаблонам и сразу при открытии диалогового окна меняю путь. Пользователь выбирает шаблон, окно закрывается и результат выполнения макроса сохраняется по тому пути, где находится файл для обработки. То есть я гоняю пути через CHDir. вот код для записи в реестр: [vba]
Код
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)
[/vba]
вот код при работе с файлами: [vba]
Код
ChDir pathtodr avfiles = Application.GetOpenFilename("Excel files(*.xls*),*.xls*", 1, "Âûáåðèòå ôàéë-øàáëîí", , False) If VarType(avfiles) = vbBoolean Then 'áûëà íàæàòà êíîïêà îòìåíû - âûõîä èç ïðîöåäóðû Exit Sub End If
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
[/vba] а теперь вопрос: как это все организовать для MAC версии? интересует запись в реестр и работа с диалоговыми окнами открытия и сохранения файлов. Причем со сменой папок туда-сюда (чтобы сразу нужные открывались). Смысл в том, что шаблоны и файлы для обработки могут располагаться где угодно, то есть жесткую папку зашить нельзя Пытался решить сам, но ни в реестр не пишется на маке, ни окна диалоговые не открываются Заранее спасибо!MisterOnix
пробовал из этого источника - там про конкретные папки в маке примеры есть. а вот про произвольные (документы все в гугл диске где то в маке :)) - ничего нет
что-то типо него есть. вроде даже что-то куда-то пишется и второй раз не спрашивает. вот только диалоговые окна с путем, который там прописывается (через кучу двоеточий) не хотят открываться
пробовал из этого источника - там про конкретные папки в маке примеры есть. а вот про произвольные (документы все в гугл диске где то в маке :)) - ничего нет
что-то типо него есть. вроде даже что-то куда-то пишется и второй раз не спрашивает. вот только диалоговые окна с путем, который там прописывается (через кучу двоеточий) не хотят открыватьсяMisterOnix