Google Таблицы
63.8K subscribers
507 photos
181 videos
8 files
892 links
С 2017 года пишем про Google Таблицы и Google Apps Script — с юмором, реальными кейсами и эффективными решениями.

Обучение и заказ услуг: @namokonov 🍒
Реклама: @IT_sAdmin

Оглавление: goo.gl/HdS2qn

РКН: clck.ru/3F3u9M
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Добрый день!

Довольно часто в своей работе нам приходится иметь дело с защищёнными диапазонами или листами. Мы ставим защиту для того, чтобы случайно ну или преднамеренно не изменить данные.

В таблицах есть штатная функция, которая подсвечивает защищённые диапазоны на листе, но она работает не всегда, о чем мы ранее писали.

Мы написали небольшой скрипт, который подсвечивает защищённые диапазоны, а также может одним цветом выделить все защищённые листы.

Делайте копию этой таблицы, скрипты в ней.

Пример кода:

function onOpen() {
SpreadsheetApp
.getUi()
.createMenu('| ПОДСВЕТКА |')
.addItem('Активировать подсветку защищённых диапазонов', 'fire')
.addItem('Деактивировать подсветку защищённых диапазонов', 'clearfire')
.addSeparator()
.addItem('Активировать подсветку защищённых листов', 'fireSh')
.addItem('Деактивировать подсветку защищённых листов', 'clearFireSh')
.addToUi();
}

/////////////////////////////////////////////////////////////

function fire() {

const ss = SpreadsheetApp.getActive();
const sh = ss.getActiveSheet();
const prs = sh.getProtections(SpreadsheetApp.ProtectionType.RANGE);

prs.forEach(x => {
if (x.canEdit()) {
x.getRange().setBackground('
#00ff00');
};
});
ss.toast('Подсветка защищённых диапазонов активирована!')
}

/////////////////////////////////////////////////////////////

function clearfire() {

const ss = SpreadsheetApp.getActive();
const sh = ss.getActiveSheet();
const prs = sh.getProtections(SpreadsheetApp.ProtectionType.RANGE);

prs.forEach(x => {
if (x.canEdit()) {
x.getRange().setBackground(null);
};
});
ss.toast('Подсветка защищённых диапазонов деактивирована!')
}

/////////////////////////////////////////////////////////////

function fireSh() {

const ss = SpreadsheetApp.getActive();
const sh = ss.getSheets();

sh.forEach(x => {
let pr = x.getProtections(SpreadsheetApp.ProtectionType.SHEET)[0];
console.log(pr[0])
if (pr && pr.canEdit()) { x.setTabColor('red') }
});
ss.toast('Подсветка защищённых листов активирована!')
}

/////////////////////////////////////////////////////////////

function clearFireSh() {

const ss = SpreadsheetApp.getActive();
const sh = ss.getSheets();

sh.forEach(x => {
let pr = x.getProtections(SpreadsheetApp.ProtectionType.SHEET)[0];
console.log(pr)
if (pr && pr.canEdit()) { x.setTabColor(null) }
});
ss.toast('Подсветка защищённых листов деактивирована!')
}



📗 Канал и Чат
📕 Оглавление канала
🏄 Заказ работы у нас
🔥16👍7👎2😎1