質問編集履歴
2
誤字
title
CHANGED
File without changes
|
body
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
|
10
10
|
#実際に試したこと
|
11
11
|
|
12
|
-
スプレッドシートに送信トリガーボタン(画像を挿入してsetTrigger()を割り当て)を設置して
|
12
|
+
スプレッドシートに送信トリガーボタン(画像を挿入してsetTrigger()を割り当て)を設置して
|
13
13
|
|
14
14
|
|
15
15
|
```
|
@@ -40,7 +40,7 @@
|
|
40
40
|
上記スクリプトを実行してトリガーをセットしようと考えました。
|
41
41
|
|
42
42
|
|
43
|
-
しかし、トリガーはプロジェクトに紐づくというより、ユーザー紐づいいるみたいで、ユーザー全員がトリガーをセット出来てしまう状態になってしまいました。
|
43
|
+
しかし、トリガーはプロジェクトに紐づくというより、ユーザー紐づいているみたいで、ユーザー全員がトリガーをセット出来てしまう状態になってしまいました。
|
44
44
|
|
45
45
|
どうにか一回だけトリガーをセットしたいのですが、
|
46
46
|
アドバイをお願いします。
|
1
文法修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,18 +4,26 @@
|
|
4
4
|
|
5
5
|
はじめは、自分でメール送信のトリガーをセットして使えればいいと思っていたのですが、このスプレッドシートをテンプレート化して、他の人達でも使えるようにしようとした時に、トリガーの設置ですごく悩みました。
|
6
6
|
|
7
|
+
#やりたいこと
|
7
|
-
|
8
|
+
一つのプロジェクト(一つのGASファイル)に対して一回のタイムベースのトリガーをセットすることです。
|
8
9
|
|
10
|
+
#実際に試したこと
|
11
|
+
|
12
|
+
スプレッドシートに送信トリガーボタン(画像を挿入してsetTrigger()を割り当て)を設置して、
|
13
|
+
|
14
|
+
|
9
15
|
```
|
16
|
+
// 現在セットされているトリガーが0個なら、newTrigger()を実行してトリガーをセット
|
17
|
+
|
18
|
+
// 【セットトリガー】
|
10
|
-
function
|
19
|
+
function setTrigger() {
|
11
|
-
ScriptApp.getProjectTriggers()
|
20
|
+
if (ScriptApp.getProjectTriggers().length === 0) {
|
21
|
+
return newTrigger();
|
22
|
+
}
|
12
23
|
}
|
13
24
|
|
14
|
-
```
|
15
|
-
現在のトリガーを確認して、すでにトリガーセットされているなら、setTrigger()を実行しない
|
16
|
-
```
|
17
|
-
// 【メール送信トリガーセット】
|
25
|
+
// 【メール送信トリガーセット】
|
18
|
-
function
|
26
|
+
function newTrigger() {
|
19
27
|
ScriptApp.newTrigger('sendMail')
|
20
28
|
.timeBased()
|
21
29
|
.atHour(9) // 朝9時頃
|
@@ -27,4 +35,12 @@
|
|
27
35
|
GmailApp.sendEmail('メールアドレス', 'メール件名', 'メール本文');
|
28
36
|
}
|
29
37
|
|
30
|
-
```
|
38
|
+
```
|
39
|
+
|
40
|
+
上記スクリプトを実行してトリガーをセットしようと考えました。
|
41
|
+
|
42
|
+
|
43
|
+
しかし、トリガーはプロジェクトに紐づくというより、ユーザー紐づいいるみたいで、ユーザー全員がトリガーをセット出来てしまう状態になってしまいました。
|
44
|
+
|
45
|
+
どうにか一回だけトリガーをセットしたいのですが、
|
46
|
+
アドバイをお願いします。
|