Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Office (Word, Excel, Outlook и т.д.) (http://forum.oszone.net/forumdisplay.php?f=115)
-   -   Microsoft Excel Online (http://forum.oszone.net/showthread.php?t=350380)

poisonkit 28-12-2021 11:48 2976223

Microsoft Excel Online
 
Доброго времени суток.
Задался вопросом вести отчетность через таблицы Эксэль онлайн.
Вроде все удобно, с любого рабочего места можно зайти, внести изменения или посмотреть...
Теперь о задаче:
В этом сервисе имеется возможность защитить как лист, так и диапазон.
Сотрудники иногда химичат с "задним числом", ну т.е. идет так:
1 декабря | Сумма такая-то | Снято столько | Остаток такой-то
2 декабря .... и так далее....
Скриншот


Так вот, можно как-то настроить динамический защищенный диапазон?
Что-бы система (сервис) разрешала редактировать строчку с текущим числом, а остальные строчки были защищены? Ну только создатель мог редактировать...
Мне кажется что это как-то можно сделать, гуглил... но ничего не нашел дельного...

Очень надеюсь, что такую функцию можно реализовать.

Iska 28-12-2021 14:24 2976267

Такая функция реализована в 1C.

poisonkit 28-12-2021 17:11 2976284

Цитата:

Цитата Iska
Такая функция реализована в 1C. »

Здорово )
А по моему вопросу есть мысли, как реализовать? Или это невозможно?

Iska 28-12-2021 18:19 2976290

По Вашему вопросу — нужна программа учёта с данным функционалом. Точка.

Phoenix 28-12-2021 20:05 2976301

Я бы оформил подписку на Office 365 и "расшаривал" в нем нужные документы (в т.ч. Exel) своим сотрудникам.
Ну а там уже открывается широкий спектр возможностей, в т.ч. и по защите от редактирования, в различных вариациях.

bredych 29-12-2021 09:40 2976333

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

a_axe 29-12-2021 15:07 2976349

poisonkit, на VBA можно написать разного рода костыли. Если уделить этому много времени и тщательно проработать, то на выходите вы получите некое приближенное подобие того, что советует вам Iska. Проблема в том, что по факту придется очень много раз все переделывать, так как в процессе задача у вас будет трансформироваться и усложняться. В пределе вы и получите программу учета с функционалом, но по факту до такого состояния эксель вы не проапгрейдите. Так стоит ли оно того?

Скрипты доступны и для офиса онлайн тоже: Запись, редактирование и создание сценариев Office в Excel в Интернете,
плюс там же Сценарии Office в Excel для Интернета
Цитата:

Необходимые компоненты
Перед началом работы с этим учебником у вас должен быть доступ к сценариям Office. Для этого требуется следующее:

Excel в Интернете.
План Microsoft 365 для коммерческих или образовательных организаций, включающий сценарии.
Поскольку у меня нет подписки, не подскажу, как реализовать эту задачу в рамках сценариев.

На VBA я подобную задачу когда-то решал, алгоритм был такой, что при открытии код проверял наличие записи в реестре, если находил - то снимал защиту с диапазона и показывал ранее скрытые столбцы, а перед каждым сохранением - ставил защиту и скрывал определенные столбцы, после сохранения - снимал защиту и показывал эти столбцы обратно (поскольку пользователь без записи в реестре при открытии фала мог просто запретить макрос и получить доступ к этим секретным столбцам). Без пароля, сохраненного в реестре доступа было не получить, но в принципе подобная защита снимается без особенных проблем. Смысл был такой, чтобы непосвященные не могли увидеть содержимое столбцов, но могли редактировать все остальное.

Вам нужно делать что-то аналогичное, но дать толковую информацию, что могут эти самые "сценарии Excel в интернете" я к сожалению не смогу.

poisonkit 18-01-2022 10:17 2977953

Ух... Значит в обычном Microsoft Excel Online это не возможно реализовать. Необходимо каждый день заходить и блокировать ручками, верно?

poisonkit 18-01-2022 10:32 2977959

Смотрел в уроке про инструмент проверки данных:

Можно указать дату, и запрет на редактирование...
или указать к примеру в ячейке текущую дату и только эту ячейку можно редактировать...
Но как автоматизировать.....

a_axe 18-01-2022 10:46 2977962

Цитата:

Цитата poisonkit
Значит в обычном Microsoft Excel Online это не возможно реализовать. Необходимо каждый день заходить и блокировать ручками, верно? »

poisonkit, чтобы дать обоснованный ответ, нужно иметь доступ к сценариям, а у меня его нет.

Проблема несколько шире: Допустим, вы запретили доступ ко всем датам, кроме как сегодня. Сохранили файл. Завтра другой сотрудник запустит этот файл, запретит выполнение программы и запросто получит доступ к этой дате - она ж не залочена. Внесет изменения, сохранит, откроет снова но уже с кодом, и продолжит работу.
Значит перед каждым сохранением нужно залочить все ячейки без исключения, и если файл не закрывается - после этого разлочить ячейки сегодняшней даты. На VBA это происходит по событиям, вопрос - есть ли аналоги в сценариях.

Потом вопрос - а откуда эта сегодняшняя дата берется? Если с ПК пользователя (ну сие конечно вряд ли, а вот на VBA это было актуально) - он переводит дату на своем ПК назад и получает доступ к нужной дате. Файл вообще можно скопировать домой, взломать, отредактировать и заменить, если есть соответствующий доступ, об этом тоже не надо забывать.

Затем, на VBA получить доступ к тексту кода - не самая сложная задача, и если хранить пароль прямо в тексте кода, то в принципе пользователь может его просто-напросто взломать (есть куча программ для этого) и скопировать из текста. Поскольку автор вопроса хотел именно такую защиту - пароль пришлось хранить в реестре, и у не имевших доступа и пароля на пк просто не было. Встанет ли подобный вопрос в онлайне - кто ж его знает.

Ну и так далее. Алгоритм не такой простой, как кажется на первый взгляд. Как эти вопросы решаются в рамках онлайна? Тут только открывать и разбираться нужно.

poisonkit 18-01-2022 12:05 2977974

Вроде как получается в стандартном онлайн экселе...
Использую формулу:
Код:

=IF(E1<>TODAY())
Но все равно что-то не то...
Нужно условие: Если дата в ячейке не совпадает с текущей датой.
Подскажите плз как правильно.

poisonkit 18-01-2022 13:35 2977982

Вот так будет нагляднее:


Установлен запрет. Тогда как правильно формулу написать? Если текущая дата не совпадает с указанной?

a_axe 18-01-2022 13:55 2977985

poisonkit, вопрос - что помешает другому юзеру удалить эту проверку, отредактировать файл, а потом снова создать эту проверку заново? Если есть такое понимание - тогда уже можно задаваться вопросом "а как сделать".

poisonkit 18-01-2022 14:38 2977993

Цитата:

Цитата a_axe
poisonkit, вопрос - что помешает другому юзеру удалить эту проверку, отредактировать файл, а потом снова создать эту проверку заново? Если есть такое понимание - тогда уже можно задаваться вопросом "а как сделать". »

Логично. К сожалению работает только защита листа или диапазона, но никак не меню...
Тогда надо искать иной способ защиты ячеек от изменений... А я ведь только формулу подобрал, которая нужна... оказывается напрасно...


Время: 23:46.

Время: 23:46.
© OSzone.net 2001-