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

Вход

Регистрация

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

 

= Мир MS Excel/Как воспрепятствовать пересохранению книги и листов? - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как воспрепятствовать пересохранению книги и листов? (Макросы/Sub)
Как воспрепятствовать пересохранению книги и листов?
Rapiy Дата: Понедельник, 24.07.2017, 09:22 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 28
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Всем привет!
Сразу хочу сказать, что я полный чайник и работать могу только по инструкции, так как только учусь.
Задача такая в книге сделал листы в них формулы, в отдельные ячейки вводятся данные и формулы считают, сделал макросом кнопку которая сохраняет результат расчетов, шрифт формул сделал белым , заблокировал паролем лист книги от исправлений и от показа формул в строке формул. На данный момент доступ есть только к ячейкам, куда вводить данные для расчета, ну и кнопка рассчитать работает, далее сохранил всё в бинарный файл (*.xlsb) по той причине, что его взломать сложнее. Теперь вот думаю, как бы сделать так чтоб пользователь не смог пересохранить в другой формат, который более подвержен взлому. Куда и как вписывать тело макроса я не знаю, так как новичок в этом деле, кнопку макроса сохранить делал по подробным инструкциям, поэтому все получилось. Пожалуйста, помогите решить эту задачу. И еще достаточно ли проделанных манипуляций для защиты скрытых формул? Всем откликнувшимся заранее большое спасибо!
 
Ответить
СообщениеВсем привет!
Сразу хочу сказать, что я полный чайник и работать могу только по инструкции, так как только учусь.
Задача такая в книге сделал листы в них формулы, в отдельные ячейки вводятся данные и формулы считают, сделал макросом кнопку которая сохраняет результат расчетов, шрифт формул сделал белым , заблокировал паролем лист книги от исправлений и от показа формул в строке формул. На данный момент доступ есть только к ячейкам, куда вводить данные для расчета, ну и кнопка рассчитать работает, далее сохранил всё в бинарный файл (*.xlsb) по той причине, что его взломать сложнее. Теперь вот думаю, как бы сделать так чтоб пользователь не смог пересохранить в другой формат, который более подвержен взлому. Куда и как вписывать тело макроса я не знаю, так как новичок в этом деле, кнопку макроса сохранить делал по подробным инструкциям, поэтому все получилось. Пожалуйста, помогите решить эту задачу. И еще достаточно ли проделанных манипуляций для защиты скрытых формул? Всем откликнувшимся заранее большое спасибо!

Автор - Rapiy
Дата добавления - 24.07.2017 в 09:22
KuklP Дата: Понедельник, 24.07.2017, 10:41 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2340
Репутация: 479 ±
Замечаний: 0% ±

2003-2010
Выглядит это просто мерзко. Вы приходите на форум, чтоб Вам здесь бесплатно помогали. Однако свои "бессмертные творения" показать другим - ни-ни! Скрыть, запаролить, не дать пересоханить! Не приведи Господь еще кто-нить чему-то научится от Вас.. Противно.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеВыглядит это просто мерзко. Вы приходите на форум, чтоб Вам здесь бесплатно помогали. Однако свои "бессмертные творения" показать другим - ни-ни! Скрыть, запаролить, не дать пересоханить! Не приведи Господь еще кто-нить чему-то научится от Вас.. Противно.

Автор - KuklP
Дата добавления - 24.07.2017 в 10:41
Rapiy Дата: Понедельник, 24.07.2017, 11:34 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 28
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
KuklP, :D :D :D Да уж .... Не пойму зачем Господа только в это впутывать, ему бы точно не понравилось что вы свои посты кошельками WebMoney подписываете. А вообще я считаю низко вступать в эту полемику, по этому на этом воздержусь. Если вам не понравился вопрос безопасности, и то что это на бесплатной основе, то можно перевести диалог в раздел Работа/Фриланс, я не жадный. Одного не пойму зачем мне с Вами делиться своими "бессмертными творениями" , Вы ведь всё равно не знаете зачем они и о чём. Статей по безопасности и сохранению данных в сети предостаточно, и лично на Вас мир клином не сошёлся...... Одним словом общение у нас с Вами не по теме происходит, флуд своего рода. За это я прошу прощения у администрации форума.


Сообщение отредактировал Rapiy - Понедельник, 24.07.2017, 11:45
 
Ответить
СообщениеKuklP, :D :D :D Да уж .... Не пойму зачем Господа только в это впутывать, ему бы точно не понравилось что вы свои посты кошельками WebMoney подписываете. А вообще я считаю низко вступать в эту полемику, по этому на этом воздержусь. Если вам не понравился вопрос безопасности, и то что это на бесплатной основе, то можно перевести диалог в раздел Работа/Фриланс, я не жадный. Одного не пойму зачем мне с Вами делиться своими "бессмертными творениями" , Вы ведь всё равно не знаете зачем они и о чём. Статей по безопасности и сохранению данных в сети предостаточно, и лично на Вас мир клином не сошёлся...... Одним словом общение у нас с Вами не по теме происходит, флуд своего рода. За это я прошу прощения у администрации форума.

Автор - Rapiy
Дата добавления - 24.07.2017 в 11:34
Stormy Дата: Понедельник, 24.07.2017, 11:58 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 312
Репутация: 12 ±
Замечаний: 0% ±

Excel 2010
как бы сделать так чтоб пользователь не смог пересохранить в другой формат,

Может просто отключить кнопку в этой книге Сохранить как и тело листа вписать австосохранение при закрытии книги?


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

Может просто отключить кнопку в этой книге Сохранить как и тело листа вписать австосохранение при закрытии книги?

Автор - Stormy
Дата добавления - 24.07.2017 в 11:58
KuklP Дата: Понедельник, 24.07.2017, 12:26 | Сообщение № 5
Группа: Проверенные
Ранг: Старожил
Сообщений: 2340
Репутация: 479 ±
Замечаний: 0% ±

2003-2010
свои посты кошельками WebMoney подписываете

Я помогаю людям бесплатно. Выполняю за них работу - это уже за деньги. Ничего не прячу и оказываю помощь в освоении Эксель. В отличии от Вас.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Понедельник, 24.07.2017, 12:58
 
Ответить
Сообщение
свои посты кошельками WebMoney подписываете

Я помогаю людям бесплатно. Выполняю за них работу - это уже за деньги. Ничего не прячу и оказываю помощь в освоении Эксель. В отличии от Вас.

Автор - KuklP
Дата добавления - 24.07.2017 в 12:26
Rapiy Дата: Понедельник, 24.07.2017, 14:20 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 28
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Stormy, Я так понял это в диалоге "сохранить как" , далее Сервис => Общие параметры....? Не совсем ясно как в тело листа вписать авто сохранение при закрытии. Наверное это авто сохранение мне особо то и не нужно, так как изменения в нем происходят только во время работы, он генерирует результат в зависимости от переменных.
 
Ответить
СообщениеStormy, Я так понял это в диалоге "сохранить как" , далее Сервис => Общие параметры....? Не совсем ясно как в тело листа вписать авто сохранение при закрытии. Наверное это авто сохранение мне особо то и не нужно, так как изменения в нем происходят только во время работы, он генерирует результат в зависимости от переменных.

Автор - Rapiy
Дата добавления - 24.07.2017 в 14:20
Stormy Дата: Понедельник, 24.07.2017, 14:57 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 312
Репутация: 12 ±
Замечаний: 0% ±

Excel 2010
Rapiy,
По примеру doober-a примерно так
К сообщению приложен файл: SaveAS.xlsm(21Kb)


Место для рекламы.
 
Ответить
СообщениеRapiy,
По примеру doober-a примерно так

Автор - Stormy
Дата добавления - 24.07.2017 в 14:57
Stormy Дата: Понедельник, 24.07.2017, 15:08 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 312
Репутация: 12 ±
Замечаний: 0% ±

Excel 2010
Rapiy,
По примеру doober-a примерно так
К сообщению приложен файл: 2632401.xlsm(21Kb)


Место для рекламы.
 
Ответить
СообщениеRapiy,
По примеру doober-a примерно так

Автор - Stormy
Дата добавления - 24.07.2017 в 15:08
Rapiy Дата: Вторник, 25.07.2017, 09:24 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 28
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Stormy, Спасибо за пример. Конечно классное решение скачать ваш файл, засунуть все свое содержимое и нажать кнопку "блокировать сохранить", и как бы все работает. Пожалуйста помогите, нужен мануал, типа заходишь в режим разработчик нажимаешь вот эту кнопочку вносишь вот этот код...
Просто я не знаю программирование на Visual Basic и только начинаю знакомится с написанием макросов, а элементарную задачу нужно выполнить сейчас. Не сочтите за наглость сию просьбу.
 
Ответить
СообщениеStormy, Спасибо за пример. Конечно классное решение скачать ваш файл, засунуть все свое содержимое и нажать кнопку "блокировать сохранить", и как бы все работает. Пожалуйста помогите, нужен мануал, типа заходишь в режим разработчик нажимаешь вот эту кнопочку вносишь вот этот код...
Просто я не знаю программирование на Visual Basic и только начинаю знакомится с написанием макросов, а элементарную задачу нужно выполнить сейчас. Не сочтите за наглость сию просьбу.

Автор - Rapiy
Дата добавления - 25.07.2017 в 09:24
Rapiy Дата: Вторник, 25.07.2017, 12:03 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 28
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Вот это да ..... Оказывается всё не так уж и сложно просто руки нужно приложить.

Кнопка лист1 CommandButton1 Click
[vba]
Код
Private Sub CommandButton1_Click()
mogno = True
ThisWorkbook.Save
  mogno = False
End Sub
[/vba]

Книга Workbook BeforeSave
[vba]
Код
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Cancel = Not mogno
End Sub

Private Sub Workbook_Open()
mogno = False
End Sub
[/vba]

Module1 General Declarations
[vba]
Код
Public mogno As Boolean
[/vba]

Сейчас буду пробовать. Ещё раз спасибо.
 
Ответить
СообщениеВот это да ..... Оказывается всё не так уж и сложно просто руки нужно приложить.

Кнопка лист1 CommandButton1 Click
[vba]
Код
Private Sub CommandButton1_Click()
mogno = True
ThisWorkbook.Save
  mogno = False
End Sub
[/vba]

Книга Workbook BeforeSave
[vba]
Код
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Cancel = Not mogno
End Sub

Private Sub Workbook_Open()
mogno = False
End Sub
[/vba]

Module1 General Declarations
[vba]
Код
Public mogno As Boolean
[/vba]

Сейчас буду пробовать. Ещё раз спасибо.

Автор - Rapiy
Дата добавления - 25.07.2017 в 12:03
Rapiy Дата: Вторник, 25.07.2017, 12:55 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 28
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Module1 General Declarations было лишним, а так всё норм, работает. Теперь вот голову ломаю как VBA защитить. Подскажите пожалуйста ....
А то ещё пол дня тыкаться буду. Может это в рецензирование можно как нибудь решить, или в VBA искать ?....
 
Ответить
СообщениеModule1 General Declarations было лишним, а так всё норм, работает. Теперь вот голову ломаю как VBA защитить. Подскажите пожалуйста ....
А то ещё пол дня тыкаться буду. Может это в рецензирование можно как нибудь решить, или в VBA искать ?....

Автор - Rapiy
Дата добавления - 25.07.2017 в 12:55
Rapiy Дата: Вторник, 25.07.2017, 13:57 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 28
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Защитил VBA посредственно через VBAProject Properties, понятно что вся эта защита от дурака и профессионал взломает или обойдёт, но для моего проекта хватит. Еще раз спасибо Stormy за приведённый пример. Да и ещё прячу принципы расчётов чисто профессионального характера, если бы я действительно знал Excel то обязательно бы поделился приёмами работы, а в том что прячу примитивные формулы и скорее скрываю сам подход к данному вопросу. Поэтому прошу извинения если что не так, я не жадный, просто учить Excel-ю мне еще рановато, так как сам в начале пути. Технические приёмы в программе Excel это пожалуйста, сложные инженерные расчеты .......... пока самому тяжело даются. Всем спасибо. :)
 
Ответить
СообщениеЗащитил VBA посредственно через VBAProject Properties, понятно что вся эта защита от дурака и профессионал взломает или обойдёт, но для моего проекта хватит. Еще раз спасибо Stormy за приведённый пример. Да и ещё прячу принципы расчётов чисто профессионального характера, если бы я действительно знал Excel то обязательно бы поделился приёмами работы, а в том что прячу примитивные формулы и скорее скрываю сам подход к данному вопросу. Поэтому прошу извинения если что не так, я не жадный, просто учить Excel-ю мне еще рановато, так как сам в начале пути. Технические приёмы в программе Excel это пожалуйста, сложные инженерные расчеты .......... пока самому тяжело даются. Всем спасибо. :)

Автор - Rapiy
Дата добавления - 25.07.2017 в 13:57
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как воспрепятствовать пересохранению книги и листов? (Макросы/Sub)
Страница 1 из 11
Поиск:

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