2015-11-02 49 views
2

我是google apps script的新手,我想爲電子表格創建一個腳本,用於將其他人的電子郵件地址存儲到我的電子表格中。 I push將所有電子郵件發送到數組並使用該數組存儲在電子表格中。由於某種原因,儘管我通過日誌查看所有電子郵件,但.setValues()仍無法正常工作。這裏是我的代碼,setValues不適用於Google Apps腳本中的陣列

 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[]陣列?糟糕的需要這個幫助。謝謝。

回答

2

setValues()needs a "two dimensional" array,如等長陣列陣列中一樣。

你要提供的電子郵件,該紙張,作爲單獨的行,以便儘量推電子郵件地址作爲單個元素陣列到陣列,即:

allMails.push([email_address]); 
+0

非常感謝。有效。 –