回答編集履歴

3

言葉が変なのの修正

2019/11/22 01:07

投稿

roots
roots

スコア315

test CHANGED
@@ -18,11 +18,15 @@
18
18
 
19
19
  ### 問題の原因
20
20
 
21
- これはtrigger設定の問題で、スプレッドシート側からするとフォームから送信された事実は
21
+ これはtrigger設定の問題で、スプレッドシート側からするとフォームから送信された事実は
22
22
 
23
- どのフォームからでも等しいですので、
23
+ どのフォームからでも同じですので、
24
24
 
25
- スプレッドシートからフォーム送信時に、2つのスクリプトが起動して、結果2通の自動返信メールが届くのが原因です。
25
+ スプレッドシートからフォーム送信時(フォームの情報を受信時)に、
26
+
27
+ triggerが起動(設定された2つのスクリプト)して、
28
+
29
+ 2通の自動返信メールが届くのが原因です。
26
30
 
27
31
 
28
32
 
@@ -84,7 +88,9 @@
84
88
 
85
89
  ### 追記
86
90
 
87
- if文と、Trueの時にreturnすれば行けます。のところを実際のコードで言いますと
91
+ if文と、Trueの時にreturnすれば行けます。
92
+
93
+ のところを実際のコードで言いますと
88
94
 
89
95
 
90
96
 
@@ -110,6 +116,12 @@
110
116
 
111
117
  Logger.log('シートがあったので、ここから先もやるよ');
112
118
 
119
+
120
+
121
+ return;
122
+
123
+ Logger.log('returnの後だからこれは表示されないよ');
124
+
113
125
  }
114
126
 
115
127
  ```

2

if文の追記

2019/11/22 01:07

投稿

roots
roots

スコア315

test CHANGED
@@ -77,3 +77,49 @@
77
77
 
78
78
 
79
79
  if文と、Trueの時にreturnすれば行けます。
80
+
81
+
82
+
83
+
84
+
85
+ ### 追記
86
+
87
+ if文と、Trueの時にreturnすれば行けます。のところを実際のコードで言いますと
88
+
89
+
90
+
91
+ ```GAS
92
+
93
+ function myFunction() {
94
+
95
+ var ss = SpreadsheetApp.getActiveSpreadsheet();
96
+
97
+ var ss2 = ss.getSheetByName('TEST');
98
+
99
+
100
+
101
+ Logger.log(ss2 == undefined )
102
+
103
+ if (ss2 == undefined ) {
104
+
105
+ Logger.log('シートが無いのでここで終了');
106
+
107
+ return;
108
+
109
+ }
110
+
111
+ Logger.log('シートがあったので、ここから先もやるよ');
112
+
113
+ }
114
+
115
+ ```
116
+
117
+ ss.getSheetByName('TEST');を実際にスプレッドシートにある名前と、無い名前を入れて動かしてみると違いが判りますが、プログラムの途中で「return;」があると、そこでプログラムは終了して、
118
+
119
+ それ以降の処理はやらなくなります。
120
+
121
+
122
+
123
+
124
+
125
+ これを利用することで、条件に応じて、途中でプログラムを停止させる事ができます。

1

内容追記

2019/11/21 07:15

投稿

roots
roots

スコア315

test CHANGED
@@ -1,4 +1,4 @@
1
- 内容理解できました。
1
+ 内容理解できました。(というより自分の理解力が不足していました・・・w)
2
2
 
3
3
 
4
4