質問するログイン新規登録

回答編集履歴

3

追記

2020/10/21 14:37

投稿

KazuSaka
KazuSaka

スコア640

answer CHANGED
@@ -48,4 +48,37 @@
48
48
  const options = {name: '差出人'};
49
49
  GmailApp.sendEmail(recipient, subject, body, options); //メール送信
50
50
  }
51
+ ```
52
+
53
+ ### 追記 2行目のいづれかのセルが10に変更された時にメール送信
54
+
55
+
56
+
57
+ ```gas
58
+ //onChangeStatusはシートの値が変更された時に実行するようにトリガ設定しておく.
59
+ function onChangeStatus(){
60
+  
61
+ var Sheet = SpreadsheetApp.getActiveSheet(); //シートを取得
62
+
63
+ var ActCell = Sheet.getActiveCell(); //変更されたセル
64
+ var ActRow = ActCell.getRow() //変更されたセルの行番号
65
+ var ActCol = ActCell.getColumn() //変更されたセルの列番号
66
+ var ActValue = Sheet.getRange(ActRow, ActCol).getValue() //変更されたセルの値
67
+
68
+ //変更されたセルが2行目かつ値が10の場合
69
+ if(ActRow == 2 && ActValue == 10){
70
+ sendEmail();
71
+ Browser.msgBox('メールを送信しました.');
72
+ }else{
73
+ Browser.msgBox('メール未送信');
74
+ }
75
+ }
76
+
77
+ function sendEmail(){
78
+ const recipient = "lookatachic@gmail.com"; //送信先のアドレスを書く
79
+ const subject = '件名'; //件名を書く
80
+ const body = `メッセージ`; //本文を書く
81
+ const options = {name: '差出人'};
82
+ GmailApp.sendEmail(recipient, subject, body, options); //メール送信
83
+ }
51
84
  ```

2

追記

2020/10/21 14:37

投稿

KazuSaka
KazuSaka

スコア640

answer CHANGED
@@ -18,6 +18,7 @@
18
18
  ●動かし方
19
19
  (1)エディタに下記のコードを書く
20
20
  (2)onChangeStatus()関数をイベントトリガーに設定する(イベントの種類:変更時)
21
+ ※[イベントトリガ設定方法](https://admin-it.xyz/gas/spreadsheet-eventtriger-mail/)
21
22
  (3)シートからA1セルの値を変更すれば、条件通りに動作するとおもいます。
22
23
  ※ifの条件式を質問者さんの好きなように変えてもらえば、目的の挙動が得られると思います。
23
24
 

1

追記

2020/10/10 16:36

投稿

KazuSaka
KazuSaka

スコア640

answer CHANGED
@@ -10,4 +10,41 @@
10
10
  値の変更をトリガにする方法
11
11
  [https://tonari-it.com/gas-trigger-changed/#toc2](https://tonari-it.com/gas-trigger-changed/#toc2)
12
12
  gasでのメール送信方法
13
- [https://auto-worker.com/blog/?p=1511](https://auto-worker.com/blog/?p=1511)
13
+ [https://auto-worker.com/blog/?p=1511](https://auto-worker.com/blog/?p=1511)
14
+
15
+
16
+ ### 追記
17
+ サンプル作ってみました。
18
+ ●動かし方
19
+ (1)エディタに下記のコードを書く
20
+ (2)onChangeStatus()関数をイベントトリガーに設定する(イベントの種類:変更時)
21
+ (3)シートからA1セルの値を変更すれば、条件通りに動作するとおもいます。
22
+ ※ifの条件式を質問者さんの好きなように変えてもらえば、目的の挙動が得られると思います。
23
+
24
+
25
+
26
+
27
+
28
+ ```GAS
29
+ //onChangeStatusはシートの値が変更された時に実行するようにトリガ設定しておく.
30
+ function onChangeStatus(){
31
+  
32
+ var Sheet = SpreadsheetApp.getActiveSheet(); //シートを取得
33
+
34
+ //A1の値が10以上に変更されたらメールを送信
35
+ if(Sheet.getRange('A1').getValue() >= 10){ //チェックしたいセル
36
+ sendEmail();
37
+ Browser.msgBox('メールを送信しました');
38
+ }else{
39
+ Browser.msgBox('メール未送信');
40
+ }
41
+ }
42
+
43
+ function sendEmail(){
44
+ const recipient = "foobar@gmail.com"; //送信先のアドレスを書く
45
+ const subject = '件名'; //件名を書く
46
+ const body = `メッセージ`; //本文を書く
47
+ const options = {name: '差出人'};
48
+ GmailApp.sendEmail(recipient, subject, body, options); //メール送信
49
+ }
50
+ ```