В Google Таблицах нет встроенного функционала, который позволял бы автоматически настраивать доступ к редактированию отдельных листов на основе даты. Впрочем, вы можете использовать скрипты Google Apps Script для создания такой функциональности. Ниже представлено описание шагов и пример скрипта, который закроет доступ к редактированию всех листов, кроме листа с именем, совпадающим с текущей датой.
1. Откройте вашу таблицу Google Sheets.
2. Нажмите на "Инструменты" -> "Редактор скриптов" (Tools -> Script editor).
3. Удалите любой предварительно открытый код и скопируйте следующий скрипт:
```javascript
function setPermissions() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheets = ss.getSheets();
var today = Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "MM-dd-yyyy");
sheets.forEach(function(sheet) {
var protection = sheet.getProtections(SpreadsheetApp.ProtectionType.SHEET)[0];
if (sheet.getName() === today) {
if (protection) {
protection.remove(); // Удалить защиту, если она существует и дата совпадает с текущей датой
}
} else {
if (!protection) {
protection = sheet.protect(); // Защитить лист, если нет защиты и дата не совпадает с текущей
}
var me = Session.getEffectiveUser();
protection.addEditor(me);
protection.removeEditors(protection.getEditors());
if (protection.canDomainEdit()) {
protection.setDomainEdit(false);
}
}
});
}
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Custom Menu')
.addItem('Set Today\'s Permissions', 'setPermissions')
.addToUi();
}
```
4. Сохраните и назовите проект.
5. Для использования скрипта вам потребуются разрешения. Запустите функцию `setPermissions` в редакторе сценариев и следуйте подсказкам, чтобы предоставить необходимые разрешения.
6. Функция `onOpen` добавит пользовательское меню в вашу таблицу Google Sheets, через которое вы сможете запускать функцию `setPermissions` для обновления прав доступа. Она автоматически сработает каждый раз при открытии документа.
7. Функцию `setPermissions` можно также настроить на автоматический запуск каждый день, используя триггеры Google Apps Script.
Чтобы создать триггер, выполните следующие действия:
1. В редакторе скриптов нажмите на иконку часов "Триггеры текущего проекта" (Current project's triggers).
2. Нажмите "Добавить триггер" (Add trigger) в правом нижнем углу.
3. Выберите функцию `setPermissions` для запуска из списка.
4. Выберите тип события "Расписание времени" (Time-driven) и установите желаемую периодичность.
5. Сохраните триггер.
Теперь скрипт будет автоматически настраивать права доступа каждый день в соответствии с вашим расписанием. Обратите внимание, что защищенные листы только удаляют права редактирования у других пользователей, владелец документа все равно сможет редактировать все листы.