Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Близок к паранойке :( / 5 сообщений из 5, страница 1 из 1
30.03.2015, 20:59
    #38921658
dimoneus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Близок к паранойке :(
Прошу помощи, т.к. с JS вообще и рядом не стоял, шеф закинул задачу :)

КОмрады. переведите сие чудо c VBA на JS ^^. Зелень от сердца ))


/*
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("M2:Z83"), Target) Is Nothing Then
ActiveSheet.Unprotect
Target.Locked = True
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:=False
End If
End Sub
*/

Хочу юзерам запретить руками лазить где не следует...
...
Рейтинг: 0 / 0
30.03.2015, 21:31
    #38921675
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Близок к паранойке :(
Это обработчик события листа, он "живет" в модуле листа Excel. Как Вы собираетесь сопрягать JS и Excel?
...
Рейтинг: 0 / 0
30.03.2015, 23:10
    #38921731
dimoneus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Близок к паранойке :(
Прошу прощения за неполноту информации. Данный скрипт буду цеплять в Google Drive к таблицам. Там используется не VBA а какраз JS.

Основная цель скрипта - запретить повторное редактирование данных в диапазоне ячеек.
...
Рейтинг: 0 / 0
31.03.2015, 09:12
    #38921876
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Близок к паранойке :(
думаю, этот вопрос мало имеет отношения к MSO, его нужно задавать на форумах, посвященных таблицам googledocs
...
Рейтинг: 0 / 0
01.04.2015, 10:29
    #38923457
dimoneus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Близок к паранойке :(
Получилось собрать вот такую штуку

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);
}
}
};

Но есть одно но, что инициатор изменения ячейки может ее и потом изменить, но прогрес в том что другие участники изменить ее не могут.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Близок к паранойке :( / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]