仅针对新用户触发

时间:2012-07-31 14:08:12

标签: google-apps-script google-sheets

我的脚本在Google电子表格中以填写电子表格形式的用户名称创建新工作表。

我希望每当新用户填写与此电子表格关联的表单时,都会触发此脚本。当然,新用户意味着新的电子邮件地址会添加到电子表格中自动生成的“用户名”列中。

这是我目前的代码:

function MakeSheet() { 
var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var sheet = ss.getSheetByName("default sheet"); 
var getEmail = Browser.inputBox("user Email: "); 
var s1 = ss.getSheetByName("list of users and emails"); 
var index = s1.getRange(1,1,s1.getLastRow(),1).getValues(); 
var values = s1.getRange(1,2,s1.getLastRow(),1).getValues(); 
nextIndex: for( var i in index) { if( index[i][0] == getEmail ) { var getName =   values[i][0];continue nextIndex;}}

ss.setActiveSheet(ss.getSheetByName("default sheet"));
SpreadsheetApp.getActiveSpreadsheet().duplicateActiveSheet();
ss.setActiveSheet(ss.getSheetByName("Copy of default sheet"));
SpreadsheetApp.getActiveSpreadsheet().renameActiveSheet(getName);
SpreadsheetApp.getActiveSheet().getRange('B3').setValue(getEmail);
SpreadsheetApp.getActiveSheet().getRange('C3').setValue(getName);

}

1 个答案:

答案 0 :(得分:0)

解决方案是在表单提交上触发。在触发器功能中,您可以检查用户是否是“新用户”。顺便说一句,我不确定您是如何获得电子邮件地址的 - 您必须是Google Apps用户,或者您应该明确询问电子邮件地址。