Копировать фон ячейки в другие таблицы - PullRequest
0 голосов
/ 10 марта 2019

Я новичок в Google Apps Script и не знаю, как сделать некоторые коды. У меня есть две таблицы, 1 для администратора и 1 для клиента. Каждый раз, когда администратор обновляет ячейки, клиентская сторона также должна обновляться. Однако копируются только данные в ячейках, но не фоны в них. Вот скриншоты для лучшего понимания:

Admin Side

Client Side

1 Ответ

0 голосов
/ 10 марта 2019

Копирование значения и фона из Admin в Client

Для этого требуется устанавливаемый триггер onEdit (e). Вам также понадобится идентификатор электронной таблицы клиента. Обратите внимание, что вы не можете запустить это из редактора скриптов, если вы не делаете это из другой функции, которая предоставляет объект события. См. этот пример .

function updateClient(e) {
  var ss=SpreadsheetApp.openById('ClientSideSpreadsheetId');//You need to provide id here.  You cannot pass other parameters to this function because it a trigger.
  var sh=ss.getSheetByName(e.range.getSheet().getName());
  var rg=sh.getRange(e.range.rowStart,e.range.columnStart);
  rg.setValue(e.value);
  rg.setBackground(e.range.getBackground());
}

Я проверил это на своем аккаунте, и оно работает. Я подозреваю, что у вас возникнут проблемы с его запуском, поэтому прочитайте ответ по ссылке, которую я подробно предоставил, прежде чем сказать, что она не работает.

Вот как выглядит объект события:

{"authMode":{},"range":{"columnStart":3,"rowStart":18,"rowEnd":18,"columnEnd":3},"source":{},"user":{"nickname":"nickname","email":"email@email.com"},"triggerUid":"123456","value":"3"}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...