Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.08.2010, 16:44   #1
A_L_E_X
Пользователь
 
Регистрация: 07.03.2010
Сообщений: 45
По умолчанию Автосохранение

После ряда аварийных отановок компа слепил из разных источников макрос, который сохраняет все открытые книги с заданным периодом.

Одна беда - все работает, если открыта книга, в которой он сидит.
Подозреваю, что если его посадить во все книги - может быть бардак...

Может, кто подскажет, как решить проблему?
Вложения
Тип файла: zip Сохранение.zip (7.4 Кб, 68 просмотров)
Если у вас и седьмой блин комом, к чёрту блины - пеките комочки!!!
A_L_E_X вне форума Ответить с цитированием
Старый 11.08.2010, 17:14   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

ни какой беды там нет, он сохраняеет все открытые книги.
только чем не устраивает автосохранение, которое уже реализовано в Excel, подымите флажок, укажите периодичность и все.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 11.08.2010, 19:31   #3
A_L_E_X
Пользователь
 
Регистрация: 07.03.2010
Сообщений: 45
По умолчанию

Не правда это.
Если у вас и седьмой блин комом, к чёрту блины - пеките комочки!!!
A_L_E_X вне форума Ответить с цитированием
Старый 11.08.2010, 19:56   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

а что, по Вашему, делает этот
Код:
  For Each W In Application.Workbooks
    W.Save
  Next W
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 12.08.2010, 13:31   #5
A_L_E_X
Пользователь
 
Регистрация: 07.03.2010
Сообщений: 45
По умолчанию

Возможно, я не очень точно сформулировал.
Когда открыта книга. в которой сидит макрос - все работает.
Если она закрыта - нет.
Если посадить макрос во все книги - будет одно сплошное самосохранение, т.е. - бардак.
Случайно выставил время 00:00:00 - долго любовался процессом.
Хорошо, что все происходило в тестфайле...
Если у вас и седьмой блин комом, к чёрту блины - пеките комочки!!!
A_L_E_X вне форума Ответить с цитированием
Старый 12.08.2010, 15:23   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

у Excel есть файл такой PERSONAL, в котором разработчики рекомендуют хранить часто используемые макросы. Положите автосохраниение в него, файл этот открывается при каждом старте Excel - вот и будет автосохранение.
Повторюсь, считаю, что встроенные возможности автосохранения абсолютно достаточны.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 12.08.2010, 15:46   #7
A_L_E_X
Пользователь
 
Регистрация: 07.03.2010
Сообщений: 45
По умолчанию

Если не затруднит - по-подробнее про этот файл.

А насчет встроенного автосохранения - у меня все книги с ним - 5 мин.
Однако, когда комп повис (а книги не трогал около получаса), пришлось давить большую кнопку.
Потом делать чек.
И ничего не сохранилось.

Потом сделал тестовый файл, ввел цифру в ячейку, покурил, покурил, еще покурил и закрыл файл без сохранения.
Открыл - цифры нет.

Или я совсем тупой?
Если у вас и седьмой блин комом, к чёрту блины - пеките комочки!!!
A_L_E_X вне форума Ответить с цитированием
Старый 12.08.2010, 17:05   #8
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

нажмите в Excel F1, напишите в строку поиска PERSONAL и почитайте, что это за файл, как его создать, как добавить в него макрос и прочее, я лучше чем в справке Excel не расскажу
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 12.08.2010, 17:58   #9
A_L_E_X
Пользователь
 
Регистрация: 07.03.2010
Сообщений: 45
По умолчанию

Спасибо.
На другом форуме (по моей проф.деятельности) в таких случаях рекомендуют яндекс или гугл.


Создание макроса
Запись макроса

Установите Средний или Низкий уровень безопасности.

Инструкции

В меню Сервис выберите команду Параметры.
Откройте вкладку Безопасность.
В группе Безопасность макросов нажмите кнопку Безопасность макросов.
Откройте вкладку Уровень безопасности, а затем выберите нужный уровень безопасности.
Выберите в меню Сервис команду Макрос и подкоманду Начать запись.
В поле Имя макроса введите имя макроса .
Примечания

Первым знаком имени макроса должна быть буква. Остальные знаки могут быть буквами, цифрами или знаками подчеркивания. В имени макроса не допускаются пробелы; в качестве разделителей слов следует использовать знаки подчеркивания.

Не используйте имя макроса, являющееся ссылкой на ячейку, либо будет выдано соответствующее сообщение об ошибке.

Если этот макрос потребуется запускать нажатием сочетания клавиш на клавиатуре, введите букву в поле Сочетание клавиш. Допускается использование сочетаний CTRL+ буква (для строчных букв) или CTRL+SHIFT+ буква (для прописных букв), где буква — любая буквенная клавиша на клавиатуре. Нельзя использовать сочетания клавиш с цифрами и специальными знаками, такими как @ или #.
Примечание. Выбранное сочетание клавиш заменяет все совпадающие стандартные сочетания клавиш Microsoft Excel на то время, пока открыта книга, содержащая данный макрос.

В поле Сохранить в выберите книгу, в которой требуется сохранить макрос.
Если этот макрос требуется всегда при работе в Microsoft Excel, выберите вариант Личная книга макросов.

Если необходимо добавить описание макроса, введите его в поле Описание.

Нажмите кнопку OK.
Если макрос требуется выполнять относительно позиции активной ячейки, запишите его, используя относительные ссылки на ячейки. На панели инструментов Остановить запись нажмите кнопку Относительная ссылка , чтобы она осталась нажатой. Запись макроса будет продолжена с использованием относительных ссылок, пока не будет закрыт Microsoft Excel или не будет еще раз нажата кнопка Относительная ссылка , после чего она останется не нажатой.

Выполните макрокоманды, которые нужно записать.
На панели инструментов Остановить запись нажмите кнопку Остановить запись .
Создание макроса с использованием Microsoft Visual Basic

В меню Сервис Microsoft Excel выберите команду Макрос, а затем — Редактор Visual Basic.
В меню Insert выберите команду Module.
Введите или скопируйте программу в окно программы модуля.
Чтобы запустить данный макрос из окна модуля, нажмите кнопку F5.
Когда макрос будет создан, выберите команду Close and Return to Microsoft Excel в меню File.
Создание макроса, выполняемого при запуске

Автоматические макросы (Макрос. Макрокоманда или набор макрокоманд, используемый для автоматического выполнения некоторых операций. Макросы записываются на языке программирования Visual Basic для приложений.), такие как Авто_активизировать, выполняются при запуске Microsoft Excel. Для получения дополнительных сведений см. справку по Microsoft Visual Basic (Справка Microsoft Visual Basic. Чтобы получить справку по Visual Basic в Microsoft Excel, выделите в меню Tools пункт Macro и выберите команду Visual Basic Editor. В меню «Help» выберите команду Microsoft Visual Basic Help.).

Копирование части макроса для создания другого макроса

Установите Средний или Низкий уровень безопасности.
Инструкции

В меню Сервис выберите команду Параметры.
Откройте вкладку Безопасность.
В группе Безопасность макросов нажмите кнопку Безопасность макросов.
Откройте вкладку Уровень безопасности, а затем выберите нужный уровень безопасности.
Откройте книгу, содержащую макрос, который нужно скопировать.
В меню Сервис выберите пункт Макрос, а затем выполните команду Макросы.
В поле Имя макроса введите имя того макроса, который нужно скопировать.
Нажмите кнопку Изменить.
Выделите строки макроса, которые нужно скопировать.
При копировании всего макроса целиком убедитесь, что строки Sub и End Sub включены в выделенную область копирования.

На стандартной панели инструментов нажмите кнопку Копировать .
Переключитесь в модуль, в который нужно вставить скопированные строки.
Нажмите кнопку Вставить .
Совет

Файл личной книги макросов (Personal.xls) можно просмотреть в любой момент, открыв его в редакторе Visual Basic (Alt+F11). Поскольку Personal.xls является скрытой книгой, которая всегда открыта, необходимо сделать ее доступной, если требуется копировать макрос.


И что дальше.
Если у вас и седьмой блин комом, к чёрту блины - пеките комочки!!!
A_L_E_X вне форума Ответить с цитированием
Старый 12.08.2010, 18:06   #10
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

A_L_E_X, зачем же цитировать всю справку на форуме?
А по сути вопроса:
Цитата:
И что дальше.
Дальше помещаете свой макрос в эту книгу, как говорил IgorGO.
Теперь он будет доступен из любой книги Excel.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автосохранение исходников в Delphi. Это возможно? Kottik Софт 16 20.09.2009 17:36
Автосохранение книги в общем доступе Chelentano Microsoft Office Excel 0 25.08.2009 13:10
Автосохранение текста в TextBox`ах B00lean Microsoft Office Word 2 27.03.2009 00:46
Нужна резервна копия или автосохранение Behemoth Microsoft Office Word 2 29.11.2008 23:42