Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Запись в реестр и диалоговое окно открытия файла - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Вопросы по Excel для Mac » Запись в реестр и диалоговое окно открытия файла (Макросы/Sub)
Запись в реестр и диалоговое окно открытия файла
MisterOnix Дата: Вторник, 05.12.2017, 14:16 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

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

Автор - MisterOnix
Дата добавления - 05.12.2017 в 14:16
Hugo Дата: Вторник, 05.12.2017, 15:20 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2718
Репутация: 606 ±
Замечаний: 0% ±

Для Маков ведь есть свой подфорум:
Вопросы по Excel для Mac


excel@nxt.ru
webmoney: E265281470651 R418926282008 Z422237915069
 
Ответить
СообщениеДля Маков ведь есть свой подфорум:
Вопросы по Excel для Mac

Автор - Hugo
Дата добавления - 05.12.2017 в 15:20
Pelena Дата: Вторник, 05.12.2017, 17:16 | Сообщение № 3
Группа: Модераторы
Ранг: Местный житель
Сообщений: 11841
Репутация: 2608 ±
Замечаний: 0% ±

Excel 2010, 2016 & Mac Excel
Для Маков ведь есть свой подфорум
Перенесла.

По теме: для открытия диалоговых окон ещё можно найти решение, например, тут, а вот для записи в реестр... что-то не встречала :(


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
Сообщение
Для Маков ведь есть свой подфорум
Перенесла.

По теме: для открытия диалоговых окон ещё можно найти решение, например, тут, а вот для записи в реестр... что-то не встречала :(

Автор - Pelena
Дата добавления - 05.12.2017 в 17:16
Hugo Дата: Вторник, 05.12.2017, 17:20 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2718
Репутация: 606 ±
Замечаний: 0% ±

На Маках вообще есть реестр? Думаю можно переделывать на запись в свой собственный реестр куда-нибудь в каталог Temp, если он есть такой :)


excel@nxt.ru
webmoney: E265281470651 R418926282008 Z422237915069
 
Ответить
СообщениеНа Маках вообще есть реестр? Думаю можно переделывать на запись в свой собственный реестр куда-нибудь в каталог Temp, если он есть такой :)

Автор - Hugo
Дата добавления - 05.12.2017 в 17:20
Pelena Дата: Вторник, 05.12.2017, 17:22 | Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 11841
Репутация: 2608 ±
Замечаний: 0% ±

Excel 2010, 2016 & Mac Excel
На Маках вообще есть реестр?
Вот я тоже сомневаюсь, что есть, не нашла никакой информации


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
Сообщение
На Маках вообще есть реестр?
Вот я тоже сомневаюсь, что есть, не нашла никакой информации

Автор - Pelena
Дата добавления - 05.12.2017 в 17:22
MisterOnix Дата: Вторник, 05.12.2017, 19:24 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel для Mac
например, тут, а вот для записи в реестр

пробовал из этого источника - там про конкретные папки в маке примеры есть. а вот про произвольные (документы все в гугл диске где то в маке :)) - ничего нет

На Маках вообще есть реестр?

что-то типо него есть. вроде даже что-то куда-то пишется и второй раз не спрашивает. вот только диалоговые окна с путем, который там прописывается (через кучу двоеточий) не хотят открываться
 
Ответить
Сообщение
например, тут, а вот для записи в реестр

пробовал из этого источника - там про конкретные папки в маке примеры есть. а вот про произвольные (документы все в гугл диске где то в маке :)) - ничего нет

На Маках вообще есть реестр?

что-то типо него есть. вроде даже что-то куда-то пишется и второй раз не спрашивает. вот только диалоговые окна с путем, который там прописывается (через кучу двоеточий) не хотят открываться

Автор - MisterOnix
Дата добавления - 05.12.2017 в 19:24
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Вопросы по Excel для Mac » Запись в реестр и диалоговое окно открытия файла (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2017 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!