Всем доброй ночи! Извиняюсь за долгое молчание! Был в отъезде. Сейчас вот познакомился из предлагаемыми вариантами решения моего вопроса. Спасибо за них, все чудесно работает.Но я хотел чтобы еще можно было включить/выключить через форму. Которую прилагаю. С ув. Муля!
Всем доброй ночи! Извиняюсь за долгое молчание! Был в отъезде. Сейчас вот познакомился из предлагаемыми вариантами решения моего вопроса. Спасибо за них, все чудесно работает.Но я хотел чтобы еще можно было включить/выключить через форму. Которую прилагаю. С ув. Муля!Муля2010
Private Sub CommandButton1_Click() If IsNumeric(txtbRowKol.Value) Then Application.AutoRecover.Time = txtbRowKol.Value Application.AutoRecover.Enabled = OptionButton1.Value ActiveWorkbook.EnableAutoRecover = True End If Unload Me End Sub
[/vba]
Попробуйте добавить в форму: [vba]
Код
Private Sub CommandButton1_Click() If IsNumeric(txtbRowKol.Value) Then Application.AutoRecover.Time = txtbRowKol.Value Application.AutoRecover.Enabled = OptionButton1.Value ActiveWorkbook.EnableAutoRecover = True End If Unload Me End Sub
Здравствуйте. У меня так работает Ваша форма:[vba]
Код
Private Sub CommandButton1_Click() If IsNumeric(txtbRowKol.Value) Then Application.AutoRecover.Time = txtbRowKol.Value End If Application.AutoRecover.Enabled = OptionButton1.Value ActiveWorkbook.EnableAutoRecover = True Unload Me End Sub
[/vba]
Здравствуйте. У меня так работает Ваша форма:[vba]
Код
Private Sub CommandButton1_Click() If IsNumeric(txtbRowKol.Value) Then Application.AutoRecover.Time = txtbRowKol.Value End If Application.AutoRecover.Enabled = OptionButton1.Value ActiveWorkbook.EnableAutoRecover = True Unload Me End Sub
Да он работает и у меня. Но как то странно. Например, если заношу какие то даные в ячейки вне основной таблицы, они автосохраняются. А если вношу какие ьо изменения в саму таблицу - нет. Потом, установленная в xtbRowKol цифра, не сохраняется , а OptionButton1 остается не нажатым.
Да он работает и у меня. Но как то странно. Например, если заношу какие то даные в ячейки вне основной таблицы, они автосохраняются. А если вношу какие ьо изменения в саму таблицу - нет. Потом, установленная в xtbRowKol цифра, не сохраняется , а OptionButton1 остается не нажатым.Муля2010
Ну, не знаю... У меня все параметры и книги и приложения устанавливаются. Попробуйте тогда сделать так: [vba]
Код
Private Sub CommandButton1_Click() If IsNumeric(txtbRowKol.Value) Then Application.AutoRecover.Time = CInt(txtbRowKol.Value) Application.AutoRecover.Enabled = OptionButton1.Value ActiveWorkbook.EnableAutoRecover = OptionButton1.Value End If Unload Me End Sub
[/vba] И просто для удобства и красоты добавьте ещё и: [vba]
Код
Private Sub UserForm_Initialize() OptionButton1.Value = Application.AutoRecover.Enabled And ActiveWorkbook.EnableAutoRecover OptionButton2.Value = Not OptionButton1.Value txtbRowKol.Value = Application.AutoRecover.Time SpnButton1.Value = txtbRowKol.Value End Sub
[/vba]
Ну, не знаю... У меня все параметры и книги и приложения устанавливаются. Попробуйте тогда сделать так: [vba]
Код
Private Sub CommandButton1_Click() If IsNumeric(txtbRowKol.Value) Then Application.AutoRecover.Time = CInt(txtbRowKol.Value) Application.AutoRecover.Enabled = OptionButton1.Value ActiveWorkbook.EnableAutoRecover = OptionButton1.Value End If Unload Me End Sub
[/vba] И просто для удобства и красоты добавьте ещё и: [vba]
Код
Private Sub UserForm_Initialize() OptionButton1.Value = Application.AutoRecover.Enabled And ActiveWorkbook.EnableAutoRecover OptionButton2.Value = Not OptionButton1.Value txtbRowKol.Value = Application.AutoRecover.Time SpnButton1.Value = txtbRowKol.Value End Sub
К стати, Муля2010, а у вас задан путь для автосохранения на вкладке СЕРВИС-ПАРАМЕТРЫ-СОХРАНЕНИЕ-Каталог данных для автовосстановления? В коде программы я не увидел его назначения. Должно быть что-то типа: [vba]
Код
Application.AutoRecover.Path = "C:\Documents and Settings\ИМЯ_ПОЛЬЗОВАТЕЛЯ\Application Data\Microsoft\Excel\"
[/vba] А это свойство ПРИЛОЖЕНИЯ, а не ФАЙЛА. Поэтому, если у вас приложению не задан каталог или задан как-то криво, то файл не будет автосохраняться ТОЛЬКО У ВАС.
К стати, Муля2010, а у вас задан путь для автосохранения на вкладке СЕРВИС-ПАРАМЕТРЫ-СОХРАНЕНИЕ-Каталог данных для автовосстановления? В коде программы я не увидел его назначения. Должно быть что-то типа: [vba]
Код
Application.AutoRecover.Path = "C:\Documents and Settings\ИМЯ_ПОЛЬЗОВАТЕЛЯ\Application Data\Microsoft\Excel\"
[/vba] А это свойство ПРИЛОЖЕНИЯ, а не ФАЙЛА. Поэтому, если у вас приложению не задан каталог или задан как-то криво, то файл не будет автосохраняться ТОЛЬКО У ВАС.Alex_ST
К стати, Муля2010, а у вас задан путь для автосохранения на вкладке СЕРВИС-ПАРАМЕТРЫ-СОХРАНЕНИЕ-Каталог данных для автовосстановления? В коде программы я не увидел его назначения. Должно быть что-то типа:
У меня задан вот такой путь:C:\Documents and Settings\зер\Application Data\Microsoft\Excel\ Вроди все так как и должно быть. Рабочий файл находится в папке Мои документты. В Параметры -Сохранение настройки меняются на заданые мною. Алексей! Вы мне пожалуйста поясните коротко сам принцып действия автосохранения. Может я его непрпвильно понимаю и хочу добиться невозможного. Напимер, мне кажется если работает автосохранение то при закрытии файла не доолжно выпадать окно с запросом на сохранение. Так как авто сохранение уже все сохранило. И все таки, почему не сохраняются установленые мною настройки в моем окошке. Об этом говорилось выше.
Всем привет!
Quote (Alex_ST)
К стати, Муля2010, а у вас задан путь для автосохранения на вкладке СЕРВИС-ПАРАМЕТРЫ-СОХРАНЕНИЕ-Каталог данных для автовосстановления? В коде программы я не увидел его назначения. Должно быть что-то типа:
У меня задан вот такой путь:C:\Documents and Settings\зер\Application Data\Microsoft\Excel\ Вроди все так как и должно быть. Рабочий файл находится в папке Мои документты. В Параметры -Сохранение настройки меняются на заданые мною. Алексей! Вы мне пожалуйста поясните коротко сам принцып действия автосохранения. Может я его непрпвильно понимаю и хочу добиться невозможного. Напимер, мне кажется если работает автосохранение то при закрытии файла не доолжно выпадать окно с запросом на сохранение. Так как авто сохранение уже все сохранило. И все таки, почему не сохраняются установленые мною настройки в моем окошке. Об этом говорилось выше.
Муля2010, читайте Справку, моментально выданную Ёкселем на поиск слова "автосохранение":
Quote
1.В меню Сервис выберите команду Параметры, а затем откройте вкладку Сохранение. 2.Установите флажок автосохранение каждые. 3.В поле минут укажите нужный интервал сохранения файлов. Чем чаще сохраняются файлы, тем больше данных можно восстановить в случае падения напряжения или подобной аварии во время работы над файлом. Примечание. Использование автосохранения не избавляет от необходимости сохранять открытый файл обычным способом. Если открытый файл восстановления не сохранить, он удаляется с потерей всех несохраненных изменений. При сохранении файл восстановления заменяет собой исходный файл (если не было задано новое имя файла).
Т.е. то, что называется в Ёкселе автосохранением - это собственно периодическое сохранение НЕ САМОГО ФАЙЛА, а его РЕЗЕРВНОЙ КОПИИ!
Муля2010, читайте Справку, моментально выданную Ёкселем на поиск слова "автосохранение":
Quote
1.В меню Сервис выберите команду Параметры, а затем откройте вкладку Сохранение. 2.Установите флажок автосохранение каждые. 3.В поле минут укажите нужный интервал сохранения файлов. Чем чаще сохраняются файлы, тем больше данных можно восстановить в случае падения напряжения или подобной аварии во время работы над файлом. Примечание. Использование автосохранения не избавляет от необходимости сохранять открытый файл обычным способом. Если открытый файл восстановления не сохранить, он удаляется с потерей всех несохраненных изменений. При сохранении файл восстановления заменяет собой исходный файл (если не было задано новое имя файла).
Т.е. то, что называется в Ёкселе автосохранением - это собственно периодическое сохранение НЕ САМОГО ФАЙЛА, а его РЕЗЕРВНОЙ КОПИИ!Alex_ST
Тут я на досуге подчистил и подполировал форму в Вашем файле... Вибачте, Льова, довелося поміняти колір форми з кислотних на пристойні і перевести написи з рідної мови на російську. Вже дуже очі різало ... Там было много "хвостов" в коде от удалённых с формы или спрятанных элементов управления. Да и имена элементов - тоже не очень... Путь сохранения теперь прописывается автоматически в строке [vba]
Код
Application.AutoRecover.Path = "C:\Documents and Settings\" & User_Name & "\Application Data\Microsoft\Excel\"
[/vba]процедуры UserForm_Initialize Добавил проверку данных, введённых в текстбокс не с клавиатуры, а копированием. Ну и ещё что-то, уже не помню. Посмотрите, что получилось.
Сейчас увидал опечатку в тексте формы: Преиодичность автосохранения в минутах конечно, надо исправить на Периодичность автосохранения в минутах
Тут я на досуге подчистил и подполировал форму в Вашем файле... Вибачте, Льова, довелося поміняти колір форми з кислотних на пристойні і перевести написи з рідної мови на російську. Вже дуже очі різало ... Там было много "хвостов" в коде от удалённых с формы или спрятанных элементов управления. Да и имена элементов - тоже не очень... Путь сохранения теперь прописывается автоматически в строке [vba]
Код
Application.AutoRecover.Path = "C:\Documents and Settings\" & User_Name & "\Application Data\Microsoft\Excel\"
[/vba]процедуры UserForm_Initialize Добавил проверку данных, введённых в текстбокс не с клавиатуры, а копированием. Ну и ещё что-то, уже не помню. Посмотрите, что получилось.
Сейчас увидал опечатку в тексте формы: Преиодичность автосохранения в минутах конечно, надо исправить на Периодичность автосохранения в минутахAlex_ST
Вельми шановний пане Олексію! Дуже приємно дізнаватися про те, що нашого українського роду , з кожним днем стає все більше на форумах екселя. І про те, що рідна українська мова усе частіше з'являється на сторінках Інтернету!!!
Quote (Alex_ST)
Примечание. Использование автосохранения не избавляет от необходимости сохранять открытый файл обычным способом. Если открытый файл восстановления не сохранить, он удаляется с потерей всех несохраненных изменений. При сохранении файл восстановления заменяет собой исходный файл (если не было задано новое имя файла).
Вот именно этого я и не понимал. Отсюда и мое ошибочное желание получить от авто сохраненмя то, что может дать только Сохранить или Сохранить все. А ваш файл For_Mulya у меня почему то не запускает форму. Выдает ошибку 400.
Вельми шановний пане Олексію! Дуже приємно дізнаватися про те, що нашого українського роду , з кожним днем стає все більше на форумах екселя. І про те, що рідна українська мова усе частіше з'являється на сторінках Інтернету!!!
Quote (Alex_ST)
Примечание. Использование автосохранения не избавляет от необходимости сохранять открытый файл обычным способом. Если открытый файл восстановления не сохранить, он удаляется с потерей всех несохраненных изменений. При сохранении файл восстановления заменяет собой исходный файл (если не было задано новое имя файла).
Вот именно этого я и не понимал. Отсюда и мое ошибочное желание получить от авто сохраненмя то, что может дать только Сохранить или Сохранить все. А ваш файл For_Mulya у меня почему то не запускает форму. Выдает ошибку 400.Муля2010
Муля2010, у меня только фамилия хохляцкая, а сам я кацап-москаль, поэтому ваше послание на мове я читал с помощью гугл-переводчика, точно так же, как и писал своё... Просто из Вашим файлов видно, что Вы из Украины... Вот я и решил написать Вам пару фраз на рідної мови.
А вообще-то у нас тут полный интернационал. И абсолютно никому нет дела, кто и какой национальности. Главное, чтобы человек был интересен в общении. Всё. Тему закрыли! Соблюдайте правила, пожалуйста! Язык форума - русский!
По поводу файла: в пошаговом режиме прогоняли? На каком операторе вылезает ошибка? Может, на функции User_Name? Испытайте её отдельно.
Муля2010, у меня только фамилия хохляцкая, а сам я кацап-москаль, поэтому ваше послание на мове я читал с помощью гугл-переводчика, точно так же, как и писал своё... Просто из Вашим файлов видно, что Вы из Украины... Вот я и решил написать Вам пару фраз на рідної мови.
А вообще-то у нас тут полный интернационал. И абсолютно никому нет дела, кто и какой национальности. Главное, чтобы человек был интересен в общении. Всё. Тему закрыли! Соблюдайте правила, пожалуйста! Язык форума - русский!
По поводу файла: в пошаговом режиме прогоняли? На каком операторе вылезает ошибка? Может, на функции User_Name? Испытайте её отдельно.
Если не умеете пошагово отлаживать программу, то попробуйте просто закомментировать строку [vba]
Код
Application.AutoRecover.Path = "C:\Documents and Settings\" & User_Name & "\Application Data\Microsoft\Excel\"
[/vba] в процедуре UserForm_Initialize. Эта строка просто не обязательна, т.к. судя по всему, Офис у Вас зарегистрирован на пользователя зер и путь автосохранения прописан правильно:
Цитата (Муля2010)
C:\Documents and Settings\зер\Application Data\Microsoft\Excel\
.
Если не умеете пошагово отлаживать программу, то попробуйте просто закомментировать строку [vba]
Код
Application.AutoRecover.Path = "C:\Documents and Settings\" & User_Name & "\Application Data\Microsoft\Excel\"
[/vba] в процедуре UserForm_Initialize. Эта строка просто не обязательна, т.к. судя по всему, Офис у Вас зарегистрирован на пользователя зер и путь автосохранения прописан правильно:
Цитата (Муля2010)
C:\Documents and Settings\зер\Application Data\Microsoft\Excel\
Всем доброго дня! Алексей! Отключил строку 'Application.AutoRecover.Path = "C:\Documents and Settings\" & Лёва_Name & "\Application Data\Microsoft\Excel\" и все заработало. Самое интересное, что интуитивно я догадывался, что проблема именно в ней. А вот отключить ее не сообразил. Наверное от плохого знания макросов. За помощь вам оромнейшее СПАСИБО!
Всем доброго дня! Алексей! Отключил строку 'Application.AutoRecover.Path = "C:\Documents and Settings\" & Лёва_Name & "\Application Data\Microsoft\Excel\" и все заработало. Самое интересное, что интуитивно я догадывался, что проблема именно в ней. А вот отключить ее не сообразил. Наверное от плохого знания макросов. За помощь вам оромнейшее СПАСИБО!Муля2010
Да я там просто перемудрил со специальной функцией для определения имени пользователя... Не нужна она вообще! Надо просто писать вместо [vba]
Код
...& User_Name &...
[/vba][vba]
Код
...& Application.UserName &...
[/vba] Ведь абсолютно ни к чему было писать функцию и создавать в ней объект Ёксель чтобы узнать имя пользователя... Это у меня "рудиментарный орган" от старой программы для Access'a: там нет свойства Application.UserName и узнавать имя пользователя приходилось по имени пользователя Ёкселя...
А по поводу обещанной сегодня доводки программы - извините, но полный облом. Начал с утра переделывать под автосохранение копии. Все нужные методы нашёл и подпрограммки написал. Даже дизайн формы и её инициализацию переделал. Осталось только всё вместе скомпоновать и "полирнуть". А тут работку срочную начальство подвалило. И объём работы большой и крайний срок - до обеда вторника. Ну, я на флэшку всё, что по автосохранению успел сегодня к обеду сделать, скинул и решил, что дома за часок-другой на выходных доделаю... А флэшку-то на работе так воткнутой в комп и забыл... Так что, извините, но выход моей программы задерживается как минимум до вторника... Но на Планете, я смотрю, Вам Дмитръ уже что-то накропал. Так что пока потерпите.
Да я там просто перемудрил со специальной функцией для определения имени пользователя... Не нужна она вообще! Надо просто писать вместо [vba]
Код
...& User_Name &...
[/vba][vba]
Код
...& Application.UserName &...
[/vba] Ведь абсолютно ни к чему было писать функцию и создавать в ней объект Ёксель чтобы узнать имя пользователя... Это у меня "рудиментарный орган" от старой программы для Access'a: там нет свойства Application.UserName и узнавать имя пользователя приходилось по имени пользователя Ёкселя...
А по поводу обещанной сегодня доводки программы - извините, но полный облом. Начал с утра переделывать под автосохранение копии. Все нужные методы нашёл и подпрограммки написал. Даже дизайн формы и её инициализацию переделал. Осталось только всё вместе скомпоновать и "полирнуть". А тут работку срочную начальство подвалило. И объём работы большой и крайний срок - до обеда вторника. Ну, я на флэшку всё, что по автосохранению успел сегодня к обеду сделать, скинул и решил, что дома за часок-другой на выходных доделаю... А флэшку-то на работе так воткнутой в комп и забыл... Так что, извините, но выход моей программы задерживается как минимум до вторника... Но на Планете, я смотрю, Вам Дмитръ уже что-то накропал. Так что пока потерпите.Alex_ST