Как я могу вызвать функцию при переключении листов в электронной таблице? - PullRequest
0 голосов
/ 05 марта 2020

Как я могу вызвать функцию при переключении листов? Основная цель - отслеживать, как люди используют электронную таблицу. Я нашел следующую опцию, которая делает именно это, но она отслеживает только тот случай, когда я переключаюсь между листами, но не когда другие люди делают это:

var PROP_NAME = "lastSheetIdx";
var userProperties = PropertiesService.getUserProperties();

function timedEventHandler() {
  var currentSheetIdx = SpreadsheetApp.getActiveSheet().getIndex()
  var previousSheetIdx = parseInt(userProperties.getProperty(PROP_NAME));
  if (currentSheetIdx !== previousSheetIdx) {
    didSwitchSheets(previousSheetIdx, currentSheetIdx);
    userProperties.setProperty(PROP_NAME, currentSheetIdx);
  }
}

function didSwitchSheets(from, to) {
  var sheet =SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Engagement");
  Logger.log("Switched from " + from + " to " + to);
  sheet.appendRow([new Date(), to, Session.getActiveUser().getEmail()]);
}

Любой совет, как я могу изменить этот скрипт, так он будет отслеживать кого-либо (получающего свою электронную почту), переключающегося между листами?

Для контекста мы используем GSuite, поэтому мы можем использовать адреса электронной почты, принадлежащие одному домену.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...