|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
06.02.2012, 09:09 | #1 |
Форумчанин
Регистрация: 19.11.2011
Сообщений: 128
|
Сохранение при закрытии файла.
Ситуация такая:
Есть файл с какими-то данными и макросами. Если файл открыть и просмотреть/изменить/запустить макрос то в файле естественно будут какие-нибудь изменения. Как сделать так ,что бы производилось сохранение файла при его закрытии, даже если не нажал кнопку "сохранить"? Грубо говоря: [Если] попытка закрыть файл [то] сохранить, а только потом закрыть файл.
Нет ничего невозможного, главное верить в это.
|
06.02.2012, 09:46 | #2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Поместите этот код в модуль ЭтаКнига:
Код:
|
06.02.2012, 12:06 | #3 | |
Форумчанин
Регистрация: 19.11.2011
Сообщений: 128
|
Цитата:
Теперь столкнулся с такой дилемой... Что бы такого придумать, что бы пользователь файла не мог его просматривать/редактировать если не включит макросы при запуске файла? Пока придумал только такой вариант: при запуске все листы в книге скрыты и, например, запаролены, а когда включаешь макросы автоматически запускается макрос снимающий пароль и отображающий все страницы в книге. Ну и соответственно когда пытаешься закрыть файл запускается сначала макрос вновь скрывающий все страницы и потом принудительно сохраняет. А как сделать, что бы макрос автоматически запускался когда разрешаешь макросы при запуске файла? И как сделать что бы при закрытии файла автоматически запускался макрос вновь скрывающий страницы?
Нет ничего невозможного, главное верить в это.
Последний раз редактировалось Snekich; 06.02.2012 в 12:28. |
|
06.02.2012, 12:21 | #4 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Код:
(такой вопрос часто поднимается) |
06.02.2012, 12:25 | #5 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
Только сначала скрытие листов, а потом ThisWorkbook.Save
Нужные листы надо делать .Visible=xlsheetveryhidden, а видимым делать лист с надписью типа "Включите макросы!". При открытии книги. соотв., этот лист прятать, а нужные делать .Visible=xlsheetvisible.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
06.02.2012, 12:26 | #6 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
Только сначала скрытие листов, а потом ThisWorkbook.Save
Нужные листы надо делать .Visible=xlsheetveryhidden, а видимым делать лист с надписью типа "Включите макросы!". При открытии книги. соотв., этот лист прятать, а нужные делать .Visible=xlsheetvisible.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
06.02.2012, 12:31 | #7 |
Форумчанин
Регистрация: 19.11.2011
Сообщений: 128
|
Блин, вот я тупил то сколько времени.
Я не знал что "название макроса" как то влияет на его работу. Workbook_Open - для меня раньше это было только название и не более того. Спасибо ,все получилось как надо.
Нет ничего невозможного, главное верить в это.
Последний раз редактировалось Snekich; 06.02.2012 в 12:41. |
06.02.2012, 13:56 | #8 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
off
"Пока придумал только такой вариант" - вспомнилась последняя TopGear про новый джип от Maserati - ребята, всё уже придумано! Такие джипы есть уже и у BMV, и у Porsche
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 06.02.2012 в 14:03. |
06.02.2012, 15:19 | #9 | |||
Форумчанин
Регистрация: 19.11.2011
Сообщений: 128
|
Цитата:
Решил немного модернизоровать макрос и вышла ошибка. Вот так работает: Цитата:
Цитата:
Нет ничего невозможного, главное верить в это.
|
|||
06.02.2012, 15:29 | #10 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
Вместо
Sheets.Count = n for i = 2 to n надо n = Sheets.Count for i = 2 to n или просто for i = 2 to Sheets.Count
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
сохранение/считывание данных при закрытии/открытии программы | Ирида | C++ Builder | 3 | 21.10.2011 13:48 |
Сохранение/загрузка значений тексбокс при закрытии/открытии формы | SaNeKBF | C# (си шарп) | 7 | 20.05.2011 22:42 |
Создание HTML Файла при закрытии самого Excel | DaMadQuest | Microsoft Office Excel | 8 | 06.06.2010 20:41 |
сохранение файла при закрытии | robotov | Microsoft Office Excel | 23 | 18.09.2009 10:40 |
Сохранение копии книги при ее закрытии. | Busine2009 | Microsoft Office Excel | 17 | 17.06.2009 04:36 |