【问题标题】:Trigger only for new users仅针对新用户触发
【发布时间】:2016-11-16 09:33:04
【问题描述】:

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

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

这是我目前的代码:

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

}

【问题讨论】:

  • 理论上,您的表单应该包含一个提交/发布按钮。该按钮应该有一个服务器处理程序,该处理程序在单击按钮时执行。您可以从处理程序中调用您的代码。

标签: google-apps-script google-sheets


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2019-01-24
    • 2019-04-08
    • 2022-01-18
    • 2018-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-20
    • 2012-03-12
    相关资源
    最近更新 更多