Прошу натолкнуть на мысль в каком русле работать дальше, сейчас ищу варианты по средствам JavaScript но пока не могу сообразить с реализацией.
Задача своеобразна, возможно ли запретить повторный ввод данный в определенный диапазон. Т.е. если человек внес данные к примеру цифру 1 в ячейку, в следствии что бы у него не было прав ее изменить.
Изначально думал реализовать показ окна через JS с вводом необходимых данных и проливкой их в следствии в таблицу на которой запрещено редактирование, но как то это не пошло. (точнее мозгов на алгоритм в js). Если есть у кого идеи буду раб обсудить... [moder]Переназовите тему согласно п.2 Правил форума
Прошу натолкнуть на мысль в каком русле работать дальше, сейчас ищу варианты по средствам JavaScript но пока не могу сообразить с реализацией.
Задача своеобразна, возможно ли запретить повторный ввод данный в определенный диапазон. Т.е. если человек внес данные к примеру цифру 1 в ячейку, в следствии что бы у него не было прав ее изменить.
Изначально думал реализовать показ окна через JS с вводом необходимых данных и проливкой их в следствии в таблицу на которой запрещено редактирование, но как то это не пошло. (точнее мозгов на алгоритм в js). Если есть у кого идеи буду раб обсудить... [moder]Переназовите тему согласно п.2 Правил форумаvorona1986
Сообщение отредактировал vorona1986 - Вторник, 31.03.2015, 10:28
Доброе время суток В принципе можно действовать по следующему алгоритму Обрабатывать событие изменения ячеек speadsheet, проверяя требуемый ли это лист защищаемого диапазона, плюс введено ли допустимое значение, например не пустое. Если все условия соблюдены, то защитить изменённый диапазон/ячейку
Доброе время суток В принципе можно действовать по следующему алгоритму Обрабатывать событие изменения ячеек speadsheet, проверяя требуемый ли это лист защищаемого диапазона, плюс введено ли допустимое значение, например не пустое. Если все условия соблюдены, то защитить изменённый диапазон/ячейкуanvg
Правильно ли я понимаю: 1. Первой функцией мы настраиваем сработку тригера т.е. изменение данных в конкретном диапазоне (столбцах) , там же указываем диапазон данных где должны быть данные(не пусто). 2. Второй функцией мы уже непоосредственно назначаем в ее свойствах "защиту ячейки того же диапазона" всем кроме автора документа к примеру.
Правильно ли я понимаю: 1. Первой функцией мы настраиваем сработку тригера т.е. изменение данных в конкретном диапазоне (столбцах) , там же указываем диапазон данных где должны быть данные(не пусто). 2. Второй функцией мы уже непоосредственно назначаем в ее свойствах "защиту ячейки того же диапазона" всем кроме автора документа к примеру.
function onEdit(e){ var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getActiveSheet(); var range = e.range;
var Column = range.getColumn(); var Row = range.getRow();
if (sheet.getRange("E"+Row).getValue() != '') { var RangeProtection = sheet.getRange("A"+Row+":E"+Row); var User = Session.getEffectiveUser();
var protection = RangeProtection.protect().setDescription('Protected ' + Row); protection.addEditor(User); protection.removeEditors(protection.getEditors());
if (protection.canDomainEdit()) { protection.setDomainEdit(false); } } };
[/vba] но есть проблема, что инициатор изменения ячейки в следствии может ее и изменить.... реально ли забрать доступ у всех кроме владельца документа
Получилось собрать вот такую штуку
[vba]
Код
function onEdit(e){ var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getActiveSheet(); var range = e.range;
var Column = range.getColumn(); var Row = range.getRow();
if (sheet.getRange("E"+Row).getValue() != '') { var RangeProtection = sheet.getRange("A"+Row+":E"+Row); var User = Session.getEffectiveUser();
var protection = RangeProtection.protect().setDescription('Protected ' + Row); protection.addEditor(User); protection.removeEditors(protection.getEditors());
if (protection.canDomainEdit()) { protection.setDomainEdit(false); } } };
[/vba] но есть проблема, что инициатор изменения ячейки в следствии может ее и изменить.... реально ли забрать доступ у всех кроме владельца документаvorona1986
Доброе время суток Сейчас на курсах ближайшие три недели, и скорость инета еле-еле, пока ничем не смогу помочь. Google docs требует хорошей скорости.
Доброе время суток Сейчас на курсах ближайшие три недели, и скорость инета еле-еле, пока ничем не смогу помочь. Google docs требует хорошей скорости.anvg
Добрый день, прошу оказать поддержку в решении небольшой задачки:
Как защитить всю строку, при условии, что в одном из столбце (Q:Q) этой строки появилось значение Есть столбец Q:Q, необходимо чтобы при появлении в любой из строк этого столбца, какого либо значения, на всю строку сразу же ставилась защита.
Заранее всех благодарю за оказанную поддержку [moder]Читаем правила форума, создаём свою тему[/moder]
Добрый день, прошу оказать поддержку в решении небольшой задачки:
Как защитить всю строку, при условии, что в одном из столбце (Q:Q) этой строки появилось значение Есть столбец Q:Q, необходимо чтобы при появлении в любой из строк этого столбца, какого либо значения, на всю строку сразу же ставилась защита.
Заранее всех благодарю за оказанную поддержку [moder]Читаем правила форума, создаём свою тему[/moder]d8n
Сообщение отредактировал Pelena - Среда, 27.05.2015, 19:20