我的脚本在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);
}
答案 0 :(得分:0)
解决方案是在表单提交上触发。在触发器功能中,您可以检查用户是否是“新用户”。顺便说一句,我不确定您是如何获得电子邮件地址的 - 您必须是Google Apps用户,或者您应该明确询问电子邮件地址。