見出し画像

補足

↓これの補足。


別解 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 は、どこかしらに記録しないと実用的じゃないと思うので、スプレッドシートの取得は必須ってことですね。

Slackのコメントより


rowStartなんてのがあるのか。

range から rowStart, rowEnd, columnStart, columnEnd をそれぞれ取得します。これは範囲の開始終了の行/列数です。

https://webbibouroku.com/Blog/Article/gas-event-cell


う~~~~~QR受付システムも完成させたいよ~~~~~!!!

いいなと思ったら応援しよう!

good-sun(a03)
いただいたサポートで、書籍代や勉強費用にしたり、美味しいもの食べたりします!