瞬态错误,使用if子句跳过空白单元格

时间:2017-03-05 23:38:54

标签: javascript performance google-contacts google-sheets-api

该程序应该遍历包含电子邮件地址的一系列电子表格单元格,然后将它们分配给联系人组。它非常慢并且不断给我一个"瞬态错误。稍后再试一次"。许多细胞是空的,我认为这是原因。你能帮助我加快速度吗,这样我就不会出现瞬态错误(20-30个细胞后)。我试图实现这个if子句,但它要么创建一个空白联系人(浪费我的配额),要么抛出一个空错误。

If子句跳过空单元格:

if(cell != "" && cell != null){

我的剧本:

function addContactstoGroup() {

 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var sheet = ss.getSheetByName('NewEmails');

 var lastRow = sheet.getLastRow();
 var lastColumn = sheet.getLastColumn();



 var dataRange = sheet.getRange(2, 9, lastRow , lastColumn); //rows and columns start at 1, arrays start at 0.
 var data = dataRange.getValues();






 for (var i=1; i < lastRow; ++i){ //rows
 var groupHeaderRange = sheet.getRange(i+1,9);
 var groupHeader = groupHeaderRange.getValue();

 for(var j=1; j < lastColumn; ++j){ //columns

 var cell = data[i][j].getRange;

 if(cell != "" && cell != null){

 var groups = data[i][9];
 var cell = sheet.getRange(i+2,j+9);

 var contactGroup = data[i][0];
 var emailAddress = data[i][j];


 var contact = ContactsApp.createContact(null,null, emailAddress); // insert null   http://stackoverflow.com/questions/20600852/how-to-add-a-contact-without-a-name-in-gas
 var group = ContactsApp.getContactGroup(contactGroup);

 group.addContact(contact);//or should this just be emailAddress

 cell.clear();



};

groupHeaderRange.clear();

};





//}else{break;};



};

};

如果你能帮助我解决问题,你将成为我的英雄:

1)瞬态错误

2)If子句因此它跳过空单元格并且不运行&#34; ContactsApp.createContact&#34;

var contact = ContactsApp.createContact(null,null, emailAddress); // insert null  

谢谢!!!我只编写了几个月的编码而且我不明白为什么会不断出现。

谢谢!

1 个答案:

答案 0 :(得分:1)

  1. 尝试将Ionic更改为$interval,然后您的if语句应该有效。

  2. 您的暂时性错误可能是由无效的电子邮件地址引起的。即电子邮件地址不存在或电子邮件地址中有一些您看不到的空格。

  3. 您可以通过选择包含电子邮件地址的范围来查找和删除空格。在查找字段中,放入1个空格,然后单击全部替换。

    如果您可以提供带有虚拟电子邮件地址的虚拟电子表格,那么我们是否可以更轻松地查看是否可以提高您的代码效率。