Activar solo para nuevos usuarios

Tengo una secuencia de comandos que crea una nueva hoja en una hoja de cálculo de Google con los nombres de los usuarios que completan el formulario de la hoja de cálculo.

Me gustaría que este script se active cada vez que un nuevo usuario complete el formulario asociado con esta hoja de cálculo. por supuesto, un nuevo usuario significa que se agrega una nueva dirección de correo electrónico a la columna "Nombre de usuario" generada automáticamente en la hoja de cálculo.

Este es mi código actualmente:

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

}

preguntado el 31 de julio de 12 a las 15:07

Su formulario, en teoría, debería contener un botón Enviar/Publicar. El botón debe tener un controlador de servidor que se ejecute cuando se haga clic en el botón. Puede llamar a su código desde el controlador. -

1 Respuestas

La solución es tener un activador en el envío del formulario. En la función de activación, puede verificar si el usuario es un 'usuario nuevo'. Por cierto, no estoy seguro de cómo obtienes la dirección de correo electrónico: tienes que ser un usuario de Google Apps o deberías preguntar la dirección de correo electrónico explícitamente.

Respondido 01 ago 12, 12:08

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.