
Photo by
raizou
↓これの補足。
別解 e.range
ノンプロ研なみなさまから、こうれもいいんじゃないかと提案いただきました。よく思いつくなあ。すごい。
e.range で行を取ってくる、という形。どのみち、番号はシートに書き込まないとなだよな~。
function myFunction_erange(e) {
const sheet = SpreadsheetApp.getActiveSheet();
const answers = e.values;
const uniqueId = e.range.rowStart;
const question1 = answers[1];
const question2 = answers[2];
const body = `
あなたのメールは、
${question1}ですね。
一個目の質問は、
${question2}でした。
抽選番号は、${uniqueId}になります。
よろしく。
`;
GmailApp.sendEmail(question1, '抽選', body);
}
面白いのは、3行目のconst sheet = SpreadsheetApp.getActiveShteet(); ですが、sheetはどこにも使用してないので、消してみたら、権限エラーでe.range にアクセス出来なくなりました。
どちらにしても、割り振ったuniqueId は、どこかしらに記録しないと実用的じゃないと思うので、スプレッドシートの取得は必須ってことですね。
rowStartなんてのがあるのか。
range から rowStart, rowEnd, columnStart, columnEnd をそれぞれ取得します。これは範囲の開始終了の行/列数です。
う~~~~~QR受付システムも完成させたいよ~~~~~!!!
いいなと思ったら応援しよう!
