Другие языки программирования и технологии

Как защитить документ EXCEL?

У меня есть документ большой, с несколькими листами (технические листы которые имеют данные для формул) и рабочие листы на которых при выборе разных продуктов расчитывается цена и кол-во.

Документ что-то типа калькулятора расчета стоимости. Сложный.
В будущем сделаю программу, но пока в эксель.

И встает вопрос, как передать клиенту этот документ, но чтобы он не смог слить другим (например конкурентам) формулы и технические листы?

Я скрыл через просмотр кода лишние листы, но толковый человек их все равно покажет.
И вот как сделать, чтобы можно было спокойно пережать кому угодно документ, чтобы не скопипастили или еще что... ?

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

Переводить в гугл док нельзя, так как у меня так такими костылями все сделано, что в гугл документах пока нет такого функционала.
На вкладке Файл выберите пункт Сведения.
Нажмите кнопку Защита книги и выберите пункт Зашифровать с использованием пароля.
Введите пароль в поле Пароль и нажмите кнопку ОК.
Еще раз введите пароль в поле Подтверждение и нажмите кнопку ОК.
Роман Коваль
Роман Коваль
80 996
Лучший ответ
В Excel можно поставить пароль на изменения заблокированных элементов. В т. ч. на отображение листов.

https://support.microsoft.com/ru-ru/office/защита-и-безопасность-в-excel-be0b34db-8cb6-44dd-a673-0b3e3475ac2d

Но есть момент - пароль от старого формата Excel (xls) взламывается за секунды.
В xlsx на сколько я помню посложнее, но можно попробовать переименовать xlsx в .zip и попробовать расковырять .xml файлы. Честно - сам не пробовал

ЗЫЖ В гуглдокс есть свои "макросы". Если чего-то нехватает - можно всегда написать. Это так - к слову.
Едил Суйербаев
Едил Суйербаев
84 764
Никак.
Эксель не имеет защиты которую нельзя вскрыть.
О чём вы вообще шепчете? Защищенный куда как более сильно софт и тот ломают, а вы о каком то даташите защищенном. Там защита от блондинок, чтобы они буковки и цифирки впечатывали и не тыкали куда не надо.
Иван Хорьков
Иван Хорьков
79 217
Гениальная формула в экселе! Такое вобще нельзя никому давать, даже смотреть. Поставь защиту от чтения и запакуй в архив с паролем, а потом удали этот архив.
MG
Makc Gordienko
74 425
Можно попробовать сделать это при помощи VBA. Например установить в коде свойство Visible в xlSheetVeryHidden и, таким образом лист станет невозможно сделать видимым не изменяя кода. Дело в том, что защита макросов в Excel реализована гораздо лучше, чем защита собственно рабочих книг, представляющих собой сжатый xml файл. Реализовать доступ к данным на скрытом листе опять же можно через код.
Собственно, сами формулы можно хранить в коде и пересчитывать значения, допустим при каждом открытии книги.
выделить все - скопировать - вставить только значения - отдать клиенту (свой файл с формулами не передавать)