Сохранение для l oop результата в переменной или сохранение его в Gsheet - PullRequest
0 голосов
/ 10 января 2020

Это, безусловно, довольно простой c вопрос, но я не могу найти ни решение, ни сам, ни ответ в глубине сценария inte rnet.

Java навык: Новичок ie

Я получаю идентификаторы предметов Google Forms, чтобы потом можно было редактировать / удалять et c. даже после того, как кто-то отредактирует за пределами моего сценария. Чтобы получить их идентификаторы, я использую 'для l oop', который удобно возвращает их мне в строку. К сожалению, я не знаю, как сохранить этот результат в переменной - всегда получаю синтаксическую ошибку. Я также не доволен сохранением logger.log в моем листе Google.

Есть идеи?

Это мой код:

function GetItems3(){

    var formId = "your-id";
    var Form = FormApp.openById(formId);
    var ajtems = Form.getItems();


      for(var i=0;i<items.length;i++)
        {ajtems[i].getId().toString()
        Logger.log(ajtems[i].getId().toString())
        };
        //That saves the logger log in my sheet (DMsheet is a global var)
        var A = DMsheet.getRange(15, 6, ajtems.length, 1).setValue(A);}

Спасибо в advanc3

1 Ответ

0 голосов
/ 10 января 2020

В вашем коде есть несколько ошибок.

1) Нет необходимости использовать метод .toString () , потому что getId ( ) уже возвращает идентификатор в виде строки.

2) Вы не определили свою ajtems переменную.

3) Вы не можете объявить переменную наподобие A и используйте его в той же строке, в которой вы его объявили, потому что он еще не установлен.

4) Вы не объявили DMsheet, эта переменная должна содержать ваш лист, и вы получите ее, используя Class Sheet .

5) Вы сказали в своем посте "Java skill: Newb ie". Java и JavaScript не совпадают.

Этот код поможет вам решить вашу проблему:

function GetItems3(){
  var formId = "your-id";
  var Form = FormApp.openById(formId);
  var items = Form.getItems();
  // Get a sheet from the Spreadsheet you are running your script
  var dmSheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
  // Create an empty array to save the Form's items
  var myArray = [];
  for(var i=0;i<items.length;i++){
    Logger.log(items[i].getId());
    // Sotre the title items in the array
    myArray.push(items[i].getTitle());
  };
  // Set the values in your sheet 
  dmSheet.getRange(1, 1, 1, items.length).setValues([myArray]);
}

Я настоятельно рекомендую вам потратить время на чтение Apps Script docs . Это очень поможет вам улучшить кодирование и избавит вас от сомнений в том, как наилучшим образом использовать Apps Script.

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