回答編集履歴

3

配列操作のメソッドを修正しました。

2023/06/04 10:12

投稿

YellowGreen
YellowGreen

スコア731

test CHANGED
@@ -27,9 +27,9 @@
27
27
  var row = cell.getRow();
28
28
  var lastRow = sheet.getLastRow();
29
29
  if (row >= 2 && row <= lastRow && status === 'TRUE') {
30
- var items = COMMON.filter(c => column == c.column);
30
+ var items = COMMON.find(c => column == c.column);
31
31
  if (items) {
32
- sendmail(row, items[0]);
32
+ sendmail(row, items);
33
33
  }
34
34
  }
35
35
  }

2

重複している処理を整理しました。

2023/06/03 11:10

投稿

YellowGreen
YellowGreen

スコア731

test CHANGED
@@ -27,13 +27,14 @@
27
27
  var row = cell.getRow();
28
28
  var lastRow = sheet.getLastRow();
29
29
  if (row >= 2 && row <= lastRow && status === 'TRUE') {
30
- if (COMMON.filter(c => column == c.column)) {
30
+ var items = COMMON.filter(c => column == c.column);
31
+ if (items) {
31
- sendmail(row, column);
32
+ sendmail(row, items[0]);
32
33
  }
33
34
  }
34
35
  }
35
36
 
36
- function sendmail(row, column) {
37
+ function sendmail(row, item) {
37
38
  var FIELDS = {//配列のインデックスなので列の番号より1少ない
38
39
  no: 1,//B列
39
40
  nouhinname: 3,//D列
@@ -43,11 +44,10 @@
43
44
  var myNo = values[index][FIELDS.no];
44
45
  var nouhinname = values[index][FIELDS.nouhinname];
45
46
  var recipient = '○○@○○.co.jp(指定のメールアドレス)';
46
- var item = COMMON.filter(c => column == c.column)[0];
47
47
  var subject = item.subject;
48
- subject = subject.replace('_NO_', myNo).replace('_NAME_', nouhinname);
48
+ subject = subject.replace('_NO_', myNo).replace('_NAME_', nouhinname);
49
49
  var body = item.body;
50
- body = body.replace('_NO_', myNo).replace('_NAME_', nouhinname);
50
+ body = body.replace('_NO_', myNo).replace('_NAME_', nouhinname);
51
51
  // console.log(recipient + '\n' + subject + '\n' + body);
52
52
  GmailApp.sendEmail(recipient, subject, body);
53
53
  }

1

インデックスのコメントを追加しました。

2023/06/03 02:07

投稿

YellowGreen
YellowGreen

スコア731

test CHANGED
@@ -34,7 +34,7 @@
34
34
  }
35
35
 
36
36
  function sendmail(row, column) {
37
- var FIELDS = {
37
+ var FIELDS = {//配列のインデックスなので列の番号より1少ない
38
38
  no: 1,//B列
39
39
  nouhinname: 3,//D列
40
40
  }