【问题标题】:Saving a for loop result in a variable or saving it in a Gsheet将 for 循环保存为变量或将其保存在 Gsheet 中
【发布时间】:2020-01-10 11:06:37
【问题描述】:

这绝对是一个很基础的问题,但我自己似乎找不到解决方案,也找不到互联网深处的答案。

Java 脚本技能:新手

我正在获取 Google 表单项 ID,以便我可以编辑/删除等,即使有人在我的脚本之外进行了编辑。 为了获得它们的 ID,我使用了一个“for 循环”,它可以轻松地将它们放在一个字符串中。不幸的是,我不知道如何将该结果保存在一个变量中——总是出现语法错误。 我也不喜欢将 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

【问题讨论】:

    标签: javascript for-loop google-sheets


    【解决方案1】:

    您的代码有几处错误。

    1) 无需使用 .toString() 方法,因为getId() 已经将 id 作为字符串返回。

    2) 你没有定义你的ajtems var。

    3) 您不能声明像 A 这样的 var 并在声明它的同一行使用它,因为它尚未设置。

    4) 你没有声明DMsheet,这个变量应该包含你的工作表,你可以使用Class Sheet得到它。

    5)您在帖子“Java 技能:新手”中说。 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 脚本的疑虑。

    【讨论】:

    • 感谢阵列推送分辨率 - 它工作得很好 也感谢额外的材料 - 肯定会使用它们 1) Logger.log 显示奇怪的巨大数字,并采取了使用 .toString() 的解决方案来自 YT appscript 教程之一 - 似乎在 Logger.log 2/5 中工作)抱歉,修复了它 - 我的错误 3)它实际上在我的代码中按预期工作 - 在电子表格中设置值 4)它是一个全局变量,就是这样为什么它没有在这个函数中定义
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-21
    • 1970-01-01
    • 2018-07-27
    • 2015-10-20
    • 2021-11-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多