![見出し画像](https://assets.st-note.com/production/uploads/images/66702555/rectangle_large_type_2_ab369373c39dcfa3dd24b56d207db4bf.png?width=1200)
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受付システムも完成させたいよ~~~~~!!!
いいなと思ったら応援しよう!
![good-sun(a03)](https://assets.st-note.com/production/uploads/images/74915135/profile_e6435615735e2ec66a673a40d90bb4a5.png?width=600&crop=1:1,smart)