Применить одну и ту же функцию дважды с разными переменными - PullRequest
0 голосов
/ 06 мая 2019

Я пишу код для Google листа, и я использую функцию OnEdit, чтобы обновить столбец с датой обновления. (Если отредактирована ячейка под столбцом с именем NAME, под ячейкой «отметка времени A» будет создана метка времени. Это работает нормально. Проблема в том, что я пытаюсь применить это правило к другим двум колонкам. I пытаюсь создать метку времени под ячейкой, которая называется "метка времени B", когда ячейка под именами ячеек PROGRESS редактируется.

Under - это код, который отлично работает для меня с оригинальной опцией, и код, который я пытался написать, который не работает. спасибо !!

function onEdit(event) {
    var timezone = 'GMT';
    var timestamp_format = "MM-dd-yyyy HH:mm:ss"; // Timestamp Format. var updateColName = "NAME"; var timeStampColName = "time stamp A"; var sheet = SpreadsheetApp.getActive().getSheetByName('work_sheet'); var updateColName2 = "PROGRESS"; var timeStampColName2 = "time stamp B";

    var actRng = event.source.getActiveRange();
    var editColumn = actRng.getColumn();
    var index = actRng.getRowIndex();
    var headers = sheet.getRange(4, 1, 1, sheet.getLastColumn()).getValues();
    var dateCol = headers[0].indexOf(timeStampColName);
    var updateCol = headers[0].indexOf(updateColName);
    updateCol = updateCol + 1;

    if (dateCol > -1 && index > 1 && editColumn == updateCol) { // only timestamp if 'Last Updated' header exists, but not in the header row itself! var cell = sheet.getRange(index, dateCol + 1); var date = Utilities.formatDate(new Date(), "GMT+2", timestamp_format); cell.setValue(date); }

    }

Код, который я пытался написать:

function onEdit(event) {
    var timezone = 'GMT';
    var timestamp_format = "MM-dd-yyyy HH:mm:ss"; // Timestamp Format. var updateColName = "NAME"; var timeStampColName = "time stamp A"; var sheet = SpreadsheetApp.getActive().getSheetByName('work_sheet'); var updateColName2 = "PROGRESS"; var timeStampColName2 = "time stamp B";

    var actRng = event.source.getActiveRange();
    var editColumn = actRng.getColumn();
    var index = actRng.getRowIndex();
    var headers = sheet.getRange(4, 1, 1, sheet.getLastColumn()).getValues();
    var dateCol = headers[0].indexOf(timeStampColName);
    var updateCol = headers[0].indexOf(updateColName);
    updateCol = updateCol + 1;
    var dateCol2 = headers[0].indexOf(timeStampColName2);
    var updateCol2 = headers[0].indexOf(updateColName2);
    updateCol2 = updateCol2 + 1;

    if (dateCol > -1 && index > 1 && editColumn == updateCol) { // only timestamp if 'Last Updated' header exists, but not in the header row itself! var cell = sheet.getRange(index, dateCol + 1); var date = Utilities.formatDate(new Date(), "GMT+2", timestamp_format); cell.setValue(date); }

        if (dateCol2 > -1 && index > 1 && editColumn == updateCol2) { // only timestamp if 'Last Updated' header exists, but not in the header row itself! var cell = sheet.getRange(index, dateCol + 1); var date = Utilities.formatDate(new Date(), "GMT+2", timestamp_format); cell.setValue(date); }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...