Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function onOpen() {
- SpreadsheetApp.getUi()
- .createMenu("> скрипты")
- .addItem("создать список листов на листе 'пульт управления'", "создать_список_листов")
- .addItem("вставить выпадающие списки", "вставить_списки")
- .addToUi()
- }
- function создать_список_листов() {
- const ss = SpreadsheetApp.getActive();
- const workSheet = ss.getSheetByName('Пульт управления');
- const checkBox = SpreadsheetApp.newDataValidation().requireCheckbox().build();
- const arrNames = ss.getSheets().map((sheet) => {
- return [sheet.getName()];
- });
- workSheet.getRange("a2:c").clearContent();
- workSheet.getRange(2, 1, arrNames.length, 1).setValues(arrNames);
- workSheet.getRange(4, 2, arrNames.length - 2, 1).setDataValidation(checkBox);
- }
- function вставить_списки() {
- const ss = SpreadsheetApp.getActive();
- const workSheet = ss.getSheetByName('Пульт управления');
- const lastRow = workSheet.getDataRange().getLastRow();
- const workSheetArr = workSheet.getRange(2, 1, lastRow, 3).getValues();
- const mappingSheet = ss.getSheetByName('Значения');
- const rangeValidation = mappingSheet.getRange("A:A").getValues();
- const validation = SpreadsheetApp.newDataValidation().requireValueInList(rangeValidation).build();
- workSheetArr.forEach((item) => {
- if (item[1]) {
- const lr = ss.getSheetByName(item[0]).getDataRange().getLastRow();
- const sheet = ss.getSheetByName(item[0]);
- sheet.getRange(2, item[2], lr - 1, 1).setDataValidation(validation);
- }
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement