初めまして。
プログラミングの初心者で、何分お聞き苦しい部分もあるかもしれませんが、解決に向けてご教示いただければ幸いです。
実現したいこと
スプレットシートで「下書きメール」ボタンを押下すると、選択した行から必要情報を抽出し、Gmailに下書きメールを作成したい。
発生している問題・エラーメッセージ
ボタンを押下した後、選択した行(例えば10行目)にある情報(1・7・8列目)のみを抽出したいのに、全ての行を選択してしまい、1行につき1つのメールが無限ループで作成され、プログラムが止まらない。
該当のソースコード
function
1createDraft() { 2 const ui = SpreadsheetApp.getUi(); 3 const response = ui.alert('下書きメールを作成しますか?', ui.ButtonSet.OK_CANCEL); 4 let j = 0; //下書き作成の有無カウント用 5 if (response == ui.Button.OK) { 6 const sheet = SpreadsheetApp.getActiveSheet(); 7 const lastRow = sheet.getLastRow(); 8 9 for (let i = 8; i <= lastRow; i++) { 10 const values = sheet.getRange(i, 1, 1, 10).getValues(); 11 /* メールに差し込む各項目 */ 12 const applynumber = values[0][0]; //申請ナンバー 13 const date = values[0][6]; //申請日付 14 const name = values[0][7]; //申請者 15 16 17 18 let recipient = "送信メール先"; 19 const subject = (`ファイル名(${name})`); 20 21 const body = 22 (`ファイルを更新しました。 23 申請№:${applynumber} 24 申請日:${date} 25 26 対象のスプレットシートのURLを表示 27 28 let options ={cc: "共有先のメールアドレス", }; 29 30 GmailApp.createDraft(recipient,subject,body,options); 31 } 32 if (j > 0) { 33 ui.alert(`申請依頼の下書きメールを作成しました。Gmailの「下書き」トレイをご確認ください。)`); 34 } else { 35 ui.alert(`下書き作成をキャンセルしました。`); 36 } 37 } 38}
jはいつ足されるのですか?
あと、デバッガは使用しないのですか?
ブレイクポイントで止めてステップ実行するなりして変数を確認できると思いますが・・・

回答1件
あなたの回答
tips
プレビュー