![]() |
Microsoft Excel Online
Доброго времени суток.
Задался вопросом вести отчетность через таблицы Эксэль онлайн. Вроде все удобно, с любого рабочего места можно зайти, внести изменения или посмотреть... Теперь о задаче: В этом сервисе имеется возможность защитить как лист, так и диапазон. Сотрудники иногда химичат с "задним числом", ну т.е. идет так: 1 декабря | Сумма такая-то | Снято столько | Остаток такой-то 2 декабря .... и так далее.... Скриншот
![]() Так вот, можно как-то настроить динамический защищенный диапазон? Что-бы система (сервис) разрешала редактировать строчку с текущим числом, а остальные строчки были защищены? Ну только создатель мог редактировать... Мне кажется что это как-то можно сделать, гуглил... но ничего не нашел дельного... Очень надеюсь, что такую функцию можно реализовать. |
Такая функция реализована в 1C.
|
Цитата:
А по моему вопросу есть мысли, как реализовать? Или это невозможно? |
По Вашему вопросу — нужна программа учёта с данным функционалом. Точка.
|
Я бы оформил подписку на Office 365 и "расшаривал" в нем нужные документы (в т.ч. Exel) своим сотрудникам.
Ну а там уже открывается широкий спектр возможностей, в т.ч. и по защите от редактирования, в различных вариациях. |
Насколько знаю, в экселе не предусмотрено автоматическое блокирование отдельных полей по дате.
Это калькулятор, а не навижн и его аналоги. |
poisonkit, на VBA можно написать разного рода костыли. Если уделить этому много времени и тщательно проработать, то на выходите вы получите некое приближенное подобие того, что советует вам Iska. Проблема в том, что по факту придется очень много раз все переделывать, так как в процессе задача у вас будет трансформироваться и усложняться. В пределе вы и получите программу учета с функционалом, но по факту до такого состояния эксель вы не проапгрейдите. Так стоит ли оно того?
Скрипты доступны и для офиса онлайн тоже: Запись, редактирование и создание сценариев Office в Excel в Интернете, плюс там же Сценарии Office в Excel для Интернета Цитата:
На VBA я подобную задачу когда-то решал, алгоритм был такой, что при открытии код проверял наличие записи в реестре, если находил - то снимал защиту с диапазона и показывал ранее скрытые столбцы, а перед каждым сохранением - ставил защиту и скрывал определенные столбцы, после сохранения - снимал защиту и показывал эти столбцы обратно (поскольку пользователь без записи в реестре при открытии фала мог просто запретить макрос и получить доступ к этим секретным столбцам). Без пароля, сохраненного в реестре доступа было не получить, но в принципе подобная защита снимается без особенных проблем. Смысл был такой, чтобы непосвященные не могли увидеть содержимое столбцов, но могли редактировать все остальное. Вам нужно делать что-то аналогичное, но дать толковую информацию, что могут эти самые "сценарии Excel в интернете" я к сожалению не смогу. |
Ух... Значит в обычном Microsoft Excel Online это не возможно реализовать. Необходимо каждый день заходить и блокировать ручками, верно?
|
Смотрел в уроке про инструмент проверки данных:
![]() Можно указать дату, и запрет на редактирование... или указать к примеру в ячейке текущую дату и только эту ячейку можно редактировать... Но как автоматизировать..... |
Цитата:
Проблема несколько шире: Допустим, вы запретили доступ ко всем датам, кроме как сегодня. Сохранили файл. Завтра другой сотрудник запустит этот файл, запретит выполнение программы и запросто получит доступ к этой дате - она ж не залочена. Внесет изменения, сохранит, откроет снова но уже с кодом, и продолжит работу. Значит перед каждым сохранением нужно залочить все ячейки без исключения, и если файл не закрывается - после этого разлочить ячейки сегодняшней даты. На VBA это происходит по событиям, вопрос - есть ли аналоги в сценариях. Потом вопрос - а откуда эта сегодняшняя дата берется? Если с ПК пользователя (ну сие конечно вряд ли, а вот на VBA это было актуально) - он переводит дату на своем ПК назад и получает доступ к нужной дате. Файл вообще можно скопировать домой, взломать, отредактировать и заменить, если есть соответствующий доступ, об этом тоже не надо забывать. Затем, на VBA получить доступ к тексту кода - не самая сложная задача, и если хранить пароль прямо в тексте кода, то в принципе пользователь может его просто-напросто взломать (есть куча программ для этого) и скопировать из текста. Поскольку автор вопроса хотел именно такую защиту - пароль пришлось хранить в реестре, и у не имевших доступа и пароля на пк просто не было. Встанет ли подобный вопрос в онлайне - кто ж его знает. Ну и так далее. Алгоритм не такой простой, как кажется на первый взгляд. Как эти вопросы решаются в рамках онлайна? Тут только открывать и разбираться нужно. |
Вроде как получается в стандартном онлайн экселе...
Использую формулу: Код:
=IF(E1<>TODAY()) Нужно условие: Если дата в ячейке не совпадает с текущей датой. Подскажите плз как правильно. |
Вот так будет нагляднее:
![]() Установлен запрет. Тогда как правильно формулу написать? Если текущая дата не совпадает с указанной? |
poisonkit, вопрос - что помешает другому юзеру удалить эту проверку, отредактировать файл, а потом снова создать эту проверку заново? Если есть такое понимание - тогда уже можно задаваться вопросом "а как сделать".
|
Цитата:
Тогда надо искать иной способ защиты ячеек от изменений... А я ведь только формулу подобрал, которая нужна... оказывается напрасно... |
Время: 23:46. |
Время: 23:46.
© OSzone.net 2001-