Необходимо получить постоянные временные метки для панели инструментов Google Sheets.

Я пытаюсь создать панель инструментов для действий в листах Google, для этого у меня есть страница, на которой студенты могут ввести название действия и его статус: страница действий

И мне нужно получить метку времени, когда статус активности был изменен, ведь это происходит на этой другой странице: страница панели управления

Где я использую флаг, чтобы зафиксировать время и дату, полученные с помощью функции now(). Проблема в том, что каждый раз, когда страница обновляется, я теряю метку времени. Как я могу получить его навсегда?


person Pedro Henrique    schedule 29.04.2020    source источник


Ответы (1)


Вы можете использовать скрипт приложений для достижения своей цели:

  1. Используйте триггер onEdit
    , чтобы проверить, когда определенная ячейка вручную поменял.
  2. Проверьте, находится ли ячейка в столбце Status, и получите строку.
  3. Напишите TimeStamp на другом листе в зависимости от значения Status

Например:

function onEdit(event){

  var editedSheet = event.source.getActiveSheet();
  var eRange = event.range;

  // If the name is Activities and the column edited is A
  if (editedSheet.getName() == "Activities" && eRange.getColumn() == 1){

    var sprsheet = SpreadsheetApp.getActiveSpreadsheet();
    var dashboard = sprsheet.getSheetByName("Dashboard");

    var dshbValues = dashboard.getRange("B1:L1").getValues(); //Values in Dashboard

    //Compare the value introduced with the Values in Dashboard   
    for (var i = 0; i < dshbValues[0].length; i++){

      //If they coincide, write the timestamp in the row edited, correspondent column
      if (eRange.getValue() == dshbValues[0][i]){

        var timestamp = new Date();

        dashboard.getRange(eRange.getRow(), i + 2).setValue(timestamp);

      }

    }

  }
}

Учтите, что в первый раз вам нужно будет запустить скрипт вручную, чтобы дать необходимые разрешения. Кроме того, значения в столбце «Действия» C и столбце A информационной панели должны быть в одном и том же порядке для обеспечения согласованности.

Ссылки:

person Jescanellas    schedule 30.04.2020