【问题标题】:setValues not working for arrays in Google Apps ScriptsetValues 不适用于 Google Apps 脚本中的数组
【发布时间】:2015-11-02 08:27:26
【问题描述】:

我是google apps script 的新手,我想为电子表格制作一个脚本,我想将发送给我的其他人的电子邮件地址存储到我的电子表格中。我 push 将所有电子邮件发送到一个数组并使用该数组存储在电子表格中。出于某种原因,.setValues() 无法正常工作,尽管我通过日志查看了所有电子邮件。这是我的代码,

      var n=threads.length;
      var messages=thread.getMessages();
      var getfrom = 0;
      var allMails = [];
      for (var i=0; i<n; i++)
      {
         for (var j=0; j<messages.length; j++)
         {
            var message=messages[j];
            getfrom = message.getFrom();
            var first_name = getfrom.substring(0, getfrom.indexOf(" "));
            var last_name = getfrom.substring(getfrom.indexOf(" ")+1, getfrom.indexOf(" <"));
            var email_address = 0;
            if (first_name == '' && last_name == '')
            {
               email_address = getfrom;
            } else {
               email_address = getfrom.substring(getfrom.indexOf("<")+1, getfrom.indexOf(">"));
            }
          }
          allMails.push(email_address);
      }
      Logger.log(allMails);
      sheet1.getRange(2, 3, n, 1).setValues(allMails);
      Browser.msgBox("Operation complete");

如何在电子表格中设置 allMails[] 数组中的所有值?非常需要这个帮助。谢谢。

【问题讨论】:

    标签: javascript arrays google-apps-script


    【解决方案1】:

    setValues()needs a "two dimensional" array,就像在等长数组中一样。

    您希望将电子邮件作为单独的行提供给工作表,因此请尝试将电子邮件地址作为单个元素数组推送到数组,即:

    allMails.push([email_address]);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-06
      • 1970-01-01
      • 1970-01-01
      • 2019-01-29
      相关资源
      最近更新 更多