回答編集履歴

2

 

2022/06/04 00:00

投稿

退会済みユーザー
test CHANGED
@@ -2,7 +2,7 @@
2
2
  「(myCell.getColumn()==3 ~~」
3
3
  から察するに、アクティブセルが3列目に該当することを期待しているようですが、
4
4
  (シートに手入力するのではなく)フォーム回答時に自動入力される場合、
5
- 1つ1つセルがactiveセルになることありません。
5
+ 方法使えません。
6
6
 
7
7
  もし似たような考え方で実装したいなら
8
8
  ・ getLastRow で入力のあった行を取得し、その3列目が「参加者」ならばメール送信

1

  

2022/06/03 14:24

投稿

退会済みユーザー
test CHANGED
@@ -1,22 +1,23 @@
1
1
  元のコードの
2
2
  「(myCell.getColumn()==3 ~~」
3
- から、アクティブセルが3列目に該当することを期待しているようですが、
3
+ から察するに、アクティブセルが3列目に該当することを期待しているようですが、
4
- シートに手入力するのではなくフォーム回答時に回答を集約するシートに自動入力される場合、
4
+ シートに手入力するのではなくフォーム回答時に自動入力される場合、
5
5
  1つ1つのセルがactiveセルになることはありません。
6
6
 
7
7
  もし似たような考え方で実装したいなら
8
8
  ・ getLastRow で入力のあった行を取得し、その3列目が「参加者」ならばメール送信
9
- とすればよいでしょう。
9
+ とすればよいでしょう。(下記)
10
- ```js
10
+ ```js
11
11
  function notification() {
12
12
  const recipient = 'sample@co.jp'; //通知を飛ばす先のgメールアドレス
13
13
  const subject = '【Googleフォーム新規回答あり】';//通知タイトル
14
14
  const body = 'https://docs.google.com/spreadsheets/d/sample';//確認するシートのURL
15
15
 
16
16
  var mySheet = SpreadsheetApp.getActiveSheet(); //シートを取得
17
+
17
- var lastRow = mySheet.getLastRow();
18
+ var lastRow = mySheet.getLastRow(); // 入力のあった行を取得
18
- var myCell = mySheet.getRange(lastRow, 3).getValue(); //アクティブセルを取得
19
+ var myCell = mySheet.getRange(lastRow, 3).getValue(); //C列(3列目)の値を取得
19
- if (myCell == "参加者") { //C列に参加者と入力があったか判定
20
+ if (myCell === "参加者") { //C列に参加者と入力があったか判定
20
21
  GmailApp.sendEmail(recipient, subject, body);//通知メールを送信
21
22
  }
22
23
  }