powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Близок к паранойке :(
5 сообщений из 5, страница 1 из 1
Близок к паранойке :(
    #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
Близок к паранойке :(
    #38921675
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это обработчик события листа, он "живет" в модуле листа Excel. Как Вы собираетесь сопрягать JS и Excel?
...
Рейтинг: 0 / 0
Близок к паранойке :(
    #38921731
dimoneus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу прощения за неполноту информации. Данный скрипт буду цеплять в Google Drive к таблицам. Там используется не VBA а какраз JS.

Основная цель скрипта - запретить повторное редактирование данных в диапазоне ячеек.
...
Рейтинг: 0 / 0
Близок к паранойке :(
    #38921876
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
думаю, этот вопрос мало имеет отношения к MSO, его нужно задавать на форумах, посвященных таблицам googledocs
...
Рейтинг: 0 / 0
Близок к паранойке :(
    #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
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Близок к паранойке :(
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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