Печать пользователя / электронной почты с помощью Google Sheets onEdit - PullRequest
0 голосов
/ 28 марта 2020

То, что я хочу сделать, это поместить адрес электронной почты пользователя, который установил флажок в true, в ячейку непосредственно рядом с флажком, на который они нажимают. У меня есть код, чтобы я мог разместить свою собственную электронную почту там. Я даже играл с ним до такой степени, что он удалит "@ gmail.com", но я не могу показать это другим пользователям.

У меня было, в один момент, размещение текущего пользователи отправляют электронные письма в поле, но тогда оно быстро изменится на мое. Однако я не помню состояние кода, каким оно было тогда, и не смог его воспроизвести.

Я перепробовал все предложенное здесь.

Я также ссылался на этот пост здесь.

Вот мой код:

function createTrigger(){
ScriptApp.newTrigger('myFunction').forSpreadsheet(SpreadsheetApp.openById('1Y0-bpAhGzPSS5DIPnoZH4OcY2b9IL8LhvBfc2is0zVU')).onEdit().create();
}
function myFunction(e) {
  var groupOneCheck = 3;
  var groupTwoCheck = 7;
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var checkCell = ss.getActiveCell();
  if (checkCell.getColumn() == groupOneCheck) {
    var dateTimeCell = checkCell.offset(0,2);
    var userCell = checkCell.offset(0,1);
    dateTimeCell.setValue(new Date());
    userCell.setValue([Session.getEffectiveUser().getEmail()]);
  }
  if (checkCell.getColumn() == groupTwoCheck) {
    var dateTimeCell = checkCell.offset(0,2);
    var userCell = checkCell.offset(0,1);
    dateTimeCell.setValue(new Date());
    userCell.setValue([Session.getEffectiveUser().getEmail()]);
  }  
}

Я хочу сделать то же самое для обоих из if заявления, потому что они соответствуют различным столбцам.

Вот ссылка на лист, с которым я сейчас тестирую.

1 Ответ

2 голосов
/ 28 марта 2020

Это работает для меня, если я использую устанавливаемый триггер, потому что простые триггеры не могут выполнять функции, которые требуют разрешения.

...