Страницы: 1 2 3 4 5 След.
RSS
Макрос для автосохранения вновь введенных даных
 
Всем доброго здравия и хорошего настроения!  
Ребята! Кто поможет дописать макрос, чтобы можно было задавать промежуток времени через который запускается автосохранение. А также при желании, его можно было включить/выключить без использования панели инструментов. Файл прилагаю.  
С ув. Муля!
 
Я вам ответил на форуме у Сержа-007 ( http://excel.ucoz.ru/forum/2-71-905-16-1286963307 ) :  
Попробуйте добавить в форму:  
 
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
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
Доброго дня Алексей!  
Автосохранение не фунциклирует. Почему - не знаю.  
С ув. Муля!
 
Возможно я не правильно Вас (Муля) понял, но осмелюсь предложить свой вариант.  
 
Если Вам необходимо сохранять резервную копию, лучше воспользуйтесь этим методом. Так как не понимаю зачем нужно "Автосохранение" в целом...
<FONT COLOR="CadetBlue">
 
«Так как не понимаю зачем нужно "Автосохранение" в целом...»  
 
Ув. Дъмитръ! Вот и я не правильно понимал.  
Поэтому и хотел добиться от авто сохранения , выполнения тех функций, которые ему не присущи изначально. Но ув. Alex_ST, дай Бог ему здоровья, на форуме  Мир MS Excel растолковал мне что и к чему.  
За ваш файл большое СПАСИБО, буду изучать.
 
Пожалуйста ;)  
 
Муля, я к тому, что Excel "Автосохранение" это и есть резервное копирование, принцип тот же, так как сохранят в указанную папку времени файл.    
Поэтому предлагаю создать кнопку и на нее повесить макрос, который будет сохранять резервную копию (посмотрите в примерах) в указанную папку. Можно и время повесить, как сделал это я.  
 
А мой вариант рассчитан на то, что у пользователя отключен интерфейс Excel (как Вы писали) и ему необходимо автоматически сохранять файл раз в n минут.
<FONT COLOR="CadetBlue">
 
Ошибочка.  
 
Не "раз в n минут", а один раз через n минут. Если Вас устроит мой вариант и  нужно "раз в n минут", тогда постараюсь исправить.
<FONT COLOR="CadetBlue">
 
Согласен. Присылайте посмотрю.  
С ув. Муля!
 
Дмитрий, там бы надо проверочек на корректность введённого понаставить и инициализацию формы. Я всё это уже сделал. Если интересует, гляньте на форуме у Сержа_007: http://excel.ucoz.ru/forum/2-71-931-16-1287051285  
Ваша идея с автосохранением файла по Application.OnTime правильна. Но очень опасна, т.к. может автосохранить файл с ошибочно введёнными или вообще случайно покоцанными данными.  
Надо автосохранять не сам файл, а копию файла в том же месте, где и сам файл, но с добавлением к имени суффикса типа (YYYY-MM-DD HH_MM).  
Я недавно дополировывал свой макрос сохранения копии рабочего файла. Вполне можно его прикрутить к нуждам Мули.  
Будет свободное время, наверное сделаю часа через 2-3
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
Привет, привет, привет и утром два привета!  
Ребята! Жду с нетерпением.  
С ув. Муля!
 
Муля, вот смотрите, возможно это оно :)  
 
Алексей, у меня тоже там ошибка 400 при инициализации формы (первая строка).
<FONT COLOR="CadetBlue">
 
Алексей, был не внимателен, все отлично работает ;)  
 
Муля, советую взять с моего примера "Путь резервной копии" и добавить в пример Алексея, будет удобнее :)
<FONT COLOR="CadetBlue">
 
Дъмитръ!  
Чудесная штука. Вот только мне кажется было бы лучше, если бы резервная копия будет создаваться не через столько то времени. Как недостаток такого подхода - создание большого множества копий. Может тогда лучше сделать, чтобы вновь созданная копия не добавлялась в папку, а заменяла  собой предыдущую копию.    
А еще будет лучше , если резервная копия ьудет создаваться только при выходе из программы (как предвиденном, так и непредвиденном).    
 
Что касается файла Алексея, то действительно с вашим путем он заработал в полном обеме. Но и в нем нужно кое что добавить.    
Например, поскольку он меняет стандартные настройки Екселя, то было бы не лишним, чтобы на кнопке листа, которая запускат соотвествующую форму, появлялась надпись "авто сохранение включено" или соответственно "Авто сохранение выключено".  
А вобще - я засомневался, нужно ли это Авто сохранение вообще.  
Потому как резервная копия надежнее , и ее роль более понятна.  
С ув. Муля!
 
"Я недавно дополировывал свой макрос сохранения копии рабочего файла. Вполне можно его прикрутить к нуждам Мули".  
Да, наверное в Алексея все это уже учтено. Так что жду его варианта.
 
Муля, откройте мой файл и внимательно посмотрите, там нет ничего сложного :)  
 
В нем есть макрос создания резервной копии. Ван нужно только "дополировать" его под свои нужды и повесить на кнопку ;)  
 
"создание большого множества копий" - в "Auto_Save_File" вставте эту строку вместо старой:  
---------------------  
...  
iDate = Format(Now, "_dd_mm_yyyy"".xls""")  
...  
---------------------
<FONT COLOR="CadetBlue">
 
Ув. Дъмитръ!  
Заменил и протестировал. Теперь РЕЗЕРВНЫЙ файл проСТО ОБНОВЛЯЕТСЯ. ЭТО ТО, ЧЕГО Я И ХОТЕЛ ДОБИТЬСЯ.  
Но, во-первых, в названии резервного файла исчезло время создания резнрвной копии. ЭТО ПОЛ БЕДЫ!  
во-вторых, полная беда в том, что АВТОРЕЗЕРВИРОВАНИЕ НЕ СРАБАТЫВАЕТ, ЕСЛИ по новому не запускаются параметры резервирования. То есть, без повторного нажатия на кнопку ОК на соответствующей форме;  
В ТРЕТЬИХ, АВТОРЕЗЕРВИРОВАНИЕ НЕ СРАБАТЫВАЕТ при закрытии книги.    
В результате чего, в резервную копию не попадает информация, введенная после последнего срабатывания авторезервирования и временем закрытия книги.  
Вот пока все, что заметил.  
С ув. Муля!
 
Здравствуйте Муля!  
 
1. "Как недостаток такого подхода - создание большого множества копийи" - поэтому убрал время. Сравните вот эту строку "iDate = Format(Now, "_dd_mm_yyyy"".xls""")".  
Если время необходимо, нужно дорабатывать макрос... А вот как?! Я не знаю.  
 
2. У меня срабатывает. Если видите надпись " Створено резервну копію Файлу!" - значит сохраняет.  
 
3. Добавил.  
 
Проверяйте.
<FONT COLOR="CadetBlue">
 
Желаю всем хорошего самочувствия и хорошего настроения!  
Дмитрий!  
А у меня по прежнему те же недостатки.  
Но подождем, Алексей обещал сделать свой вариант, но чуть позжее. А если нет - будем просить помощи у других знатоков-макрописателей.  
Потому что кроме всего того , о чем говорилось выше, ну просто "кровь из носу", нужны меняющиеся надписи на кнопке : "Автосохранение включено" , или соответственно, "Автосохранение выключено".  
Поскольку оно остается включенным и после закрытия этой книги. Что нежелательно.  
Или может быть че то там добавить в код, чтобы такие изменения стандартных настроек Офис 2003, относились только к даной книге.  
А еще лучше! Чтобы было и то и другое.  
Вот только не знаю,можно ли такое сделать на практике.  
С ув. Муля!
 
"...Поскольку оно остается включенным и после закрытия этой книги. Что нежелательно." - ничего не остается, см. новый файл, у меня все работает в 2002-2003 Office.  
 
Муля, а Вы действительно запускаете мой файл и проверяете?!
<FONT COLOR="CadetBlue">
 
Муля, а Вы действительно запускаете мой файл и проверяете?!  
Дмитрий!  
Ну конечно же ваш. При том,копирую его на жестский диск.  
В последнем варианте, в названии копии появилось время.  
После нажатия ОК на форме, всн работает. И даже срабатывает на закрытие основной книги.  
Но по прежнему макрос не срабатывает, как надо, если на форме не жмешь ОК.  
Например, новые даные, теперь вроди как сохраняются, но сообщение о создании копии не выпадает и название копии не меняется (то есть, время в названии остается прежнее).
 
Леонид, а новая форма при сохранение появляется, а также при закрытии файла?!  
 
Я проверял так.  
 
1. Нажал кнопку "Автосохранение". Появилась форма.  
2. Выбрал "Включить" и нажал кнопку "ОК". Появилось сообщение "Автосохранение файла будет происходить каждые: 1 мин.".  
 
После всего этого у меня выскакивает форма "FrmWaiting", где и происходит резервное сохранение файла с указанием даты и времени.  
 
У Вас п1-2 выполняются?!
<FONT COLOR="CadetBlue">
 
Забыл добавить.  
 
Старая копия удаляется и создается новая, как Вы и просили. Поэтому в конце обновляется только время.  
 
Так же прошу всех, кто читает этот пост, проверить как работает "post_165012.xls". Спасибо заранее!
<FONT COLOR="CadetBlue">
 
Да, и что означает "Но по прежнему макрос не срабатывает, как надо, если на форме не жмешь ОК."?!?!
<FONT COLOR="CadetBlue">
 
Убрал на форме [Х], может из-за него такое было...
<FONT COLOR="CadetBlue">
 
Не а!  
Все по прежнему.  
Дмитрий! Только, ради Бога, не подумайте что я придираюсь к этому файлу!!!!  
Просто, хочется чтоб без ошибок всяких было.
 
Леонид, а теперь будьте добры, разложите по полочкам, что "Не а", а что "Да а".
<FONT COLOR="CadetBlue">
 
Так я же выше перечислял. Все то же и осталось.  
Например, авторезервирование не срабатывае без предварительного нажатия на кнопку ОК, на кнопке.
 
А как оно должно срабатывать еще, если форма не вызвана и не нажата кнопка "ОК"?!  
 
И еще, я выше писал, что я не понимаю, Вы так и не соизволили ответить, простите, но я не экстрасенс.
<FONT COLOR="CadetBlue">
 
Муля и Дмитрий, пардон, ни проверять ваши формы, ни доделывать свою сейчас не могу - завал на работе. Самое раннее завтра к вечеру работу сдам и тогда "дополирую" своё автосохранение и смогу посмотреть работу Димы.  
А в Миру на Юкозе я теперь, наверное, если и появлюсь, то не скоро. Если интересуют причины, посмотрите там последние топики в "Вопросы по работе форумов".  
Посмотрю, как там дела пойдут.
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
Неожиданно образовалось свободное время. Смог "дочесать" свой вариант автосохранения.  
Вот, что у меня получилось.
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
Страницы: 1 2 3 4 5 След.
Читают тему
Наверх