回答編集履歴
3
言葉が変なのの修正
answer
CHANGED
@@ -8,9 +8,11 @@
|
|
8
8
|
みたいな感じですかね。
|
9
9
|
|
10
10
|
### 問題の原因
|
11
|
-
これはtrigger設定の問題で、スプレッドシート側からすると
|
11
|
+
これはtrigger設定の問題で、スプレッドシート側からするとフォームから送信された事実は
|
12
|
-
どのフォームからでも
|
12
|
+
どのフォームからでも同じですので、
|
13
|
-
スプレッドシートから
|
13
|
+
スプレッドシートからフォーム送信時(フォームの情報を受信時)に、
|
14
|
+
triggerが起動(設定された2つのスクリプト)して、
|
15
|
+
2通の自動返信メールが届くのが原因です。
|
14
16
|
|
15
17
|
|
16
18
|
|
@@ -41,7 +43,8 @@
|
|
41
43
|
|
42
44
|
|
43
45
|
### 追記
|
44
|
-
if文と、Trueの時にreturnすれば行けます。
|
46
|
+
if文と、Trueの時にreturnすれば行けます。
|
47
|
+
のところを実際のコードで言いますと
|
45
48
|
|
46
49
|
```GAS
|
47
50
|
function myFunction() {
|
@@ -54,6 +57,9 @@
|
|
54
57
|
return;
|
55
58
|
}
|
56
59
|
Logger.log('シートがあったので、ここから先もやるよ');
|
60
|
+
|
61
|
+
return;
|
62
|
+
Logger.log('returnの後だからこれは表示されないよ');
|
57
63
|
}
|
58
64
|
```
|
59
65
|
ss.getSheetByName('TEST');を実際にスプレッドシートにある名前と、無い名前を入れて動かしてみると違いが判りますが、プログラムの途中で「return;」があると、そこでプログラムは終了して、
|
2
if文の追記
answer
CHANGED
@@ -37,4 +37,27 @@
|
|
37
37
|
フォーム2側のプログラムが起動したとしても、フォーム2側に新しい情報が無いから、そこでプログラムを終了する。
|
38
38
|
という風にして、実行しても、処理を中断させる手があります。
|
39
39
|
|
40
|
-
if文と、Trueの時にreturnすれば行けます。
|
40
|
+
if文と、Trueの時にreturnすれば行けます。
|
41
|
+
|
42
|
+
|
43
|
+
### 追記
|
44
|
+
if文と、Trueの時にreturnすれば行けます。のところを実際のコードで言いますと
|
45
|
+
|
46
|
+
```GAS
|
47
|
+
function myFunction() {
|
48
|
+
var ss = SpreadsheetApp.getActiveSpreadsheet();
|
49
|
+
var ss2 = ss.getSheetByName('TEST');
|
50
|
+
|
51
|
+
Logger.log(ss2 == undefined )
|
52
|
+
if (ss2 == undefined ) {
|
53
|
+
Logger.log('シートが無いのでここで終了');
|
54
|
+
return;
|
55
|
+
}
|
56
|
+
Logger.log('シートがあったので、ここから先もやるよ');
|
57
|
+
}
|
58
|
+
```
|
59
|
+
ss.getSheetByName('TEST');を実際にスプレッドシートにある名前と、無い名前を入れて動かしてみると違いが判りますが、プログラムの途中で「return;」があると、そこでプログラムは終了して、
|
60
|
+
それ以降の処理はやらなくなります。
|
61
|
+
|
62
|
+
|
63
|
+
これを利用することで、条件に応じて、途中でプログラムを停止させる事ができます。
|
1
内容追記
answer
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
内容理解できました。
|
1
|
+
内容理解できました。(というより自分の理解力が不足していました・・・w)
|
2
2
|
|
3
3
|
まずやりたいことを例え話で言うと、
|
4
4
|
レストランを経営していたとして、予約フォームとメルマガの登録フォームの管理を
|