スプレッドシートのフォームに記入するユーザーの名前で、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);
}