回答編集履歴
2
コード修正、画像追加
test
CHANGED
@@ -4,7 +4,9 @@
|
|
4
4
|
そしてメール送信はforの外に書きます。
|
5
5
|
|
6
6
|
## コード例
|
7
|
-
forを使わない方が簡
|
7
|
+
forを使わない方が簡潔にできますので、以下の方法をご紹介します。
|
8
|
+
|
9
|
+

|
8
10
|
```javascript
|
9
11
|
function alertTasks() {
|
10
12
|
const ss = SpreadsheetApp.getActiveSpreadsheet();
|
@@ -24,11 +26,11 @@
|
|
24
26
|
const tasks = values.filter(record => {
|
25
27
|
// 本日の年月日と使用期限の年月日が同じかどうか判定
|
26
28
|
const isExpiredToday = date.getTime() === record[4].getTime();
|
27
|
-
// 公開が「
|
29
|
+
// 公開が「未」かどうか判定
|
28
|
-
const isPublished = record[5] === '
|
30
|
+
const isNotPublished = record[5] === '未';
|
29
31
|
|
30
32
|
// どちらもtrueの場合、その行を新しい配列に入れる
|
31
|
-
return isExpiredToday && isPublished;
|
33
|
+
return isExpiredToday && isNotPublished;
|
32
34
|
});
|
33
35
|
|
34
36
|
// 配列の長さが0なら、この関数をここで実行終了(メールを送らない)
|
1
誤字修正
test
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
## 不具合の原因
|
2
2
|
for文の中で、1行ずつ条件に合致するたびにメールを送信する処理をしているからです。
|
3
3
|
for文の中で本来すべきことは、条件に合致するかどうか判定し、合致する場合本文の文字列に加えるという処理です。
|
4
|
+
そしてメール送信はforの外に書きます。
|
4
5
|
|
5
6
|
## コード例
|
6
7
|
forを使わない方が簡単にできますので、以下の方法をご紹介します。
|
@@ -30,7 +31,7 @@
|
|
30
31
|
return isExpiredToday && isPublished;
|
31
32
|
});
|
32
33
|
|
33
|
-
//
|
34
|
+
// 配列の長さが0なら、この関数をここで実行終了(メールを送らない)
|
34
35
|
if (tasks.length === 0) return;
|
35
36
|
|
36
37
|
// 送信先のメールアドレス
|