Вы можете сделать это 2 способами. Использование «исключить» или «только».
исключить означает, не делайте этого, если текущий лист является одним из них.
только означает, что делать это можно только в том случае, если текущие листы являются одним из них.
Используйте приведенный ниже код и включите любую опцию, затем попробуйте. Чтобы включить, добавьте соответствующие имена листов в массив excludes
или only
и раскомментируйте строки, убрав //
. Он будет работать только на текущем листе, а не на всех листах в электронных таблицах.
function onEdit() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getActiveSheet();
// use only one of these 2 options
// add sheets names to exclude, example ['Sheet1', 'Sheet2']
// to exclude these sheets enable these 2 lines below by uncommenting
// var excludes = [];
// if (excludes.indexOf(s.getName()) != -1) return;
// add sheet names to work on only these sheets, as above
// to work on only these sheets enable these 2 lines below by uncommenting
// var only = [];
// if (only.indexOf(s.getName()) == -1) return;
s.showRows(1, s.getMaxRows());
s.getRange('B:B')
.getValues()
.forEach(function(r, i) {
if (r[0] == 'Hide') s.hideRows(i + 1);
});
}
EDIT
function onEdit() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var only = [
'Proposal',
'Materials List - All',
'Materials List - Shingles',
'Materials List - Access',
'Work Order'
];
only.forEach(function(name) {
var s = ss.getSheetByName(name);
s.showRows(1, s.getMaxRows());
s.getRange('B:B')
.getValues()
.forEach(function(r, i) {
if (r[0] == 'Hide') s.hideRows(i + 1);
});
});
}