Google Script передает предыдущее значение переменной на лист Google - PullRequest
0 голосов
/ 19 сентября 2018

Я работаю над формой Google.Эта форма будет собирать данные от пользователя и затем передавать их в Google Sheet для создания определенного отформатированного отчета из данных, введенных пользователем в форму.

Поскольку отчет имеет определенный формат, поэтому я долженскопируйте шаблон, чтобы избежать перезаписи исходного шаблона.

У меня проблема с вводом данных в Google Sheet.Google Script вводит предыдущее значение переменной «NewTempCopyName».

Ниже приведен код:

 function onSubmit(e) {

      var NewTempCopyName = Utilities.formatDate( new Date(),"GMT+1","ddMMyyyyhhmmss");
      Logger.log(NewTempCopyName);

      var tmpsheet = DriveApp.getFilesByName("Form2 Template").next();
      tmpsheet.makeCopy(NewTempCopyName);
      var fid = tmpsheet.getId();
      var ss =SpreadsheetApp.openById(fid);
      SpreadsheetApp.setActiveSpreadsheet(ss);
      var sheet = ss.getSheetByName("Sheet1");

      Logger.log(NewTempCopyName);
      SpreadsheetApp.getActiveSheet().getRange("B1").setValue(NewTempCopyName);
      Logger.log(NewTempCopyName);

    }

В приведенном выше коде, если предыдущее значение переменной - 18092018114846, а новое значение -18092018115332 сценарий передает 18092018114846 в B1.

Регистратор записывает правильное значение как до, так и после:

SpreadsheetApp.getActiveSheet().getRange("B1").setValue(NewTempCopyName);

1 Ответ

0 голосов
/ 19 сентября 2018

Вы устанавливаете NewTempCopyName один раз, не было бы никаких причин для его изменения.Несмотря на то, что он основан на DateTime, он не обновляется со временем.

Непонятно, на каком листе вы хотите установить значение B1.Если это копия, вам необходимо внести следующие изменения:

var newCopy = tmpsheet.makeCopy(NewTempCopyName);
var fid = newCopy.getId();

Если нет, то ваш код будет функционировать, как описано;Вы уверены, что регистратор перечисляет различные значения между строкой 13 и строкой 15?

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