質問するログイン新規登録

回答編集履歴

3

言葉が変なのの修正

2019/11/22 01:07

投稿

roots
roots

スコア315

answer CHANGED
@@ -8,9 +8,11 @@
8
8
  みたいな感じですかね。
9
9
 
10
10
  ### 問題の原因
11
- これはtrigger設定の問題で、スプレッドシート側からするとフォームから送信された事実は
11
+ これはtrigger設定の問題で、スプレッドシート側からするとフォームから送信された事実は
12
- どのフォームからでも等しいですので、
12
+ どのフォームからでも同じですので、
13
- スプレッドシートからフォーム送信時に、2つのスクリプトが起動して、結果2通の自動返信メルが届くが原因です。
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文の追記

2019/11/22 01:07

投稿

roots
roots

スコア315

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

内容追記

2019/11/21 07:15

投稿

roots
roots

スコア315

answer CHANGED
@@ -1,4 +1,4 @@
1
- 内容理解できました。
1
+ 内容理解できました。(というより自分の理解力が不足していました・・・w)
2
2
 
3
3
  まずやりたいことを例え話で言うと、
4
4
  レストランを経営していたとして、予約フォームとメルマガの登録フォームの管理を