スプレッドシートについて
セルの値が一定の数に達した場合、色が変わるように条件付き書式を設定しているのですが
色が変わった時点で、メールで通知がくるように組みたいと思っております。
または、セルの値が一定の数に達した場合、メールで通知がくるように組みたいと思っております。
ご教授いただけますと幸いでございます。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答1件
0
ベストアンサー
こんな感じの流れではいかがでしょうか。
①「セルの値変更」をトリガにして、実行するGAS関数を設定
②メールを送付するかどうかをGAS関数内で判定
➡セルの色が変わっているかどうか
➡もしくは、条件書式に関係なく、直接値を確認(セルの値が一定の数に達したかどうか)
③メールを送付
●参考
値の変更をトリガにする方法
https://tonari-it.com/gas-trigger-changed/#toc2
gasでのメール送信方法
https://auto-worker.com/blog/?p=1511
追記
サンプル作ってみました。
●動かし方
(1)エディタに下記のコードを書く
(2)onChangeStatus()関数をイベントトリガーに設定する(イベントの種類:変更時)
※イベントトリガ設定方法
(3)シートからA1セルの値を変更すれば、条件通りに動作するとおもいます。
※ifの条件式を質問者さんの好きなように変えてもらえば、目的の挙動が得られると思います。
GAS
1//onChangeStatusはシートの値が変更された時に実行するようにトリガ設定しておく. 2function onChangeStatus(){ 3 4 var Sheet = SpreadsheetApp.getActiveSheet(); //シートを取得 5 6 //A1の値が10以上に変更されたらメールを送信 7 if(Sheet.getRange('A1').getValue() >= 10){ //チェックしたいセル 8 sendEmail(); 9 Browser.msgBox('メールを送信しました'); 10 }else{ 11 Browser.msgBox('メール未送信'); 12 } 13} 14 15function sendEmail(){ 16 const recipient = "foobar@gmail.com"; //送信先のアドレスを書く 17 const subject = '件名'; //件名を書く 18 const body = `メッセージ`; //本文を書く 19 const options = {name: '差出人'}; 20 GmailApp.sendEmail(recipient, subject, body, options); //メール送信 21}
追記 2行目のいづれかのセルが10に変更された時にメール送信
gas
1//onChangeStatusはシートの値が変更された時に実行するようにトリガ設定しておく. 2function onChangeStatus(){ 3 4 var Sheet = SpreadsheetApp.getActiveSheet(); //シートを取得 5 6 var ActCell = Sheet.getActiveCell(); //変更されたセル 7 var ActRow = ActCell.getRow() //変更されたセルの行番号 8 var ActCol = ActCell.getColumn() //変更されたセルの列番号 9 var ActValue = Sheet.getRange(ActRow, ActCol).getValue() //変更されたセルの値 10 11 //変更されたセルが2行目かつ値が10の場合 12 if(ActRow == 2 && ActValue == 10){ 13 sendEmail(); 14 Browser.msgBox('メールを送信しました.'); 15 }else{ 16 Browser.msgBox('メール未送信'); 17 } 18} 19 20function sendEmail(){ 21 const recipient = "lookatachic@gmail.com"; //送信先のアドレスを書く 22 const subject = '件名'; //件名を書く 23 const body = `メッセージ`; //本文を書く 24 const options = {name: '差出人'}; 25 GmailApp.sendEmail(recipient, subject, body, options); //メール送信 26}
投稿2020/10/02 16:37
編集2020/10/21 14:37総合スコア640
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/10 11:53
2020/10/10 16:38
2020/10/12 12:41
2020/10/12 16:17
2020/10/21 12:57
2020/10/21 14:41
2020/10/21 15:02
2020/10/21 15:17