Вы можете использовать функцию getProtections()
, чтобы проверить, какие виды защиты уже установлены, прежде чем создавать новые.
Поскольку вы создаете свою защиту исключительно с помощью диапазонов, вы можете использовать getProtections(SpreadsheetApp.ProtectionType.RANGE)
для получениятолько защиты, созданные вашим сценарием (все они - диапазоны, а не защиты всей ширины).
Можно предположить, что, если вы создали первую защиту, вы создали все из них. Таким образом, код будет выглядеть следующим образом:
var protections = Veranda_Sheets[SheetNumb].getProtections(SpreadsheetApp.ProtectionType.RANGE);
if (protections.length==0) {
//add protections here
}
Если это небезопасное предположение, вы можете проверить, каких средств защиты не хватает, и создать их позже, например:
var protections = Veranda_Sheets[SheetNumb].getProtections(SpreadsheetApp.ProtectionType.RANGE);
var protectionNames = [];
for (var i=0; i<protections.length; i++) {
protectionNames.push(protections[i].getDescription());
}
if (!protectionNames.includes('<name of protection i am about to create>') {
//create protection '<name of protection i am about to create>'
} //else skip;
Надеюсь, этопомогает!