0

我有一个脚本,可以在填写电子表格表格的用户名下在谷歌电子表格中创建一个新工作表。

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

这是我目前的代码:

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);

}
4

1 回答 1

0

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

于 2012-08-01T11:51:51.083 回答