回答編集履歴

9

修正

2022/04/27 11:32

投稿

退会済みユーザー
test CHANGED
@@ -151,10 +151,11 @@
151
151
  const values = sheet.getRange(row, 1, 1, 12).getValues()[0];
152
152
  ```
153
153
  となっているように、valuesは、1行12列の範囲から読み取っている為、12個の要素を持つ配列となっています。
154
-  
154
+ ここで、もし上記手順でフォームを作成しているならば
155
+ 1列目はタイムスタンプ、2列目はメールアドレスとなっているはずです。(すくなくとも1列目は必ずタイムスタンプとなっているはず)
155
- したがって、generateBodies 関数の冒頭でvaluesを分割代入する際
156
+ したがって、generateBodies 関数の冒頭でvaluesを分割代入する際、
156
- 12変数に代入する必要があります。(元のコードだと10個の変数に分割代入しようとしているのでエラー)
157
+ 1番目にタイムスタンプ、2番目にメールアドレスを追加し、残りをフォーム回答項目とする必要があります。
157
-  
158
+
158
159
  また 、generateBodies 関数の後半で
159
160
  ```js
160
161
  return {
@@ -163,7 +164,7 @@
163
164
  html: html
164
165
  };
165
166
  ```
166
- となっていることから、元のコードだとemail という変数がないというエラーも発生してしまうと思います。
167
+ となっていることから、元のコードのままだとemail という変数がないというエラーも発生してしまうと思います。
167
168
   
168
169
  元記事でも、最初の2つは timeStamp と emailになっていることから、
169
170
  (フォームの設定画面でメール収集を必須にしたうえで)

8

 

2022/04/26 22:51

投稿

退会済みユーザー
test CHANGED
@@ -32,7 +32,8 @@
32
32
 
33
33
  また、念のためですが、
34
34
  recipient = '担当のメールアドレス';
35
- は、実際の承認担当者のメールアドレス(他の人がフォームで申請してきた時に承認する人のメールアドレス)に変えておいてください。
35
+ は、実在する、承認担当者のメールアドレス(他の人がフォームで申請してきた時に承認する人のメールアドレス)に変えておいてください。
36
+ (テスト段階では自分のアドレスで構わないと思いますが)
36
37
   
37
38
  ⑥エディタにコードを全部書いて保存したら、左側に並んでいるアイコンのうち、時計のアイコンをクリックします。
38
39
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-26/a06c9a70-d4fc-402a-8196-2aaa9214fb5c.png)
@@ -123,13 +124,14 @@
123
124
  ・コピーした**デプロイURLを、コードのurlに上書きして、コードを保存します**。
124
125
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-27/e64b95df-19a6-42fa-a52d-b4c46a05a72b.png)
125
126
 
126
- ・**再び**右上の「デプロイ」ボタンから「デプロイをテスト」を選択し、完了ボタンを押します。(必須。これを忘れると反映されません。)
127
+ ・**再び右上の「デプロイ」ボタンから「デプロイをテスト」を選択し、完了ボタンを押します**
128
+ (必須。これを忘れると反映されません。)
127
129
   
128
- あとは、**コードを修正・編集して保存する都度、右上の「デプロイ」ボタンから「デプロイをテスト」を選択し、完了ボタンを押す**、という操作を繰り返せばよいです。
130
+ あとは、コードを修正・編集して保存する都度、右上の「デプロイ」ボタンから「デプロイをテスト」を選択し、完了ボタンを押す、という操作を繰り返せばよいです。
129
131
 
130
132
  ※本番稼働時では、「デプロイをテスト」ではなく、「新しいデプロイ」でデプロイしてください。
131
133
 
132
- ※当然ですがデプロイする前にコードを保存しないと修正内容が反映されないので注意してください。
134
+ ※当然ですがデプロイする前にコードを上書き保存しないと修正内容が反映されないので注意してください。
133
135
 
134
136
  ---
135
137
 
@@ -151,7 +153,7 @@
151
153
  となっているように、valuesは、1行12列の範囲から読み取っている為、12個の要素を持つ配列となっています。
152
154
   
153
155
  したがって、generateBodies 関数の冒頭でvaluesを分割代入する際も、
154
- 12個の変数に代入する必要があります。
156
+ 12個の変数に代入する必要があります。(元のコードだと10個の変数に分割代入しようとしているのでエラー)
155
157
   
156
158
  また 、generateBodies 関数の後半で
157
159
  ```js
@@ -161,7 +163,7 @@
161
163
  html: html
162
164
  };
163
165
  ```
164
- となっていることから、email という変数がないとエラーになってしまいます。
166
+ となっていることから、元のコードだとemail という変数がないというエラーも発生してしまうと思います。
165
167
   
166
168
  元記事でも、最初の2つは timeStamp と emailになっていることから、
167
169
  (フォームの設定画面でメール収集を必須にしたうえで)

7

 

2022/04/26 22:23

投稿

退会済みユーザー
test CHANGED
@@ -23,7 +23,7 @@
23
23
 
24
24
  ⑤ エディタに、コードを記入して保存します。
25
25
    ※コードは一部修正する必要があります。
26
-  具体的には、generateBodies 関数の2行目は、下記のように tiimeStampと emailの2つを追加する必要があります。
26
+  具体的には、generateBodies 関数の2行目は、下記のように、先頭に timeStamp と emailの2つを追加する必要があります。
27
27
  ```js
28
28
  function generateBodies(values) {
29
29
  const [timeStamp, email, number, date, name, reason, organization, place, leeding, lodging, car, freeway] = values;

6

 

2022/04/26 21:55

投稿

退会済みユーザー
test CHANGED
@@ -6,11 +6,11 @@
6
6
  ①フォームを作ります。
7
7
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-26/0e85dffc-6199-49ea-8c5c-92bf0f2e7212.png)
8
8
   
9
- ② フォーム編集画面の上にある「質問」「回答」「設定」のうち、「設定」から「メールアドレスを収集する」のスイッチをonにしておきます。
9
+ ② フォーム編集画面の上にある「質問」「回答」「設定」のうち、一番右の「設定」をクリックし、中の「メールアドレスを収集する」のスイッチをonにしておきます。
10
10
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-27/0ce420d8-33b5-450a-a5ee-ba95d497aded.png)
11
11
    
12
12
 
13
- さらに、真ん中の「回答」を選択し、緑のアイコンをクリックします。
13
+ さらに、真ん中の「回答」をクリックし、緑のアイコンをクリックします。
14
14
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-26/d5cf368c-ca17-40c7-aa53-a48dcaba1c5f.png)
15
15
   
16
16
   
@@ -29,12 +29,16 @@
29
29
  const [timeStamp, email, number, date, name, reason, organization, place, leeding, lodging, car, freeway] = values;
30
30
  以下略
31
31
  ```
32
+
33
+ また、念のためですが、
34
+ recipient = '担当のメールアドレス';
35
+ は、実際の承認担当者のメールアドレス(他の人がフォームで申請してきた時に承認する人のメールアドレス)に変えておいてください。
32
36
   
33
37
  ⑥エディタにコードを全部書いて保存したら、左側に並んでいるアイコンのうち、時計のアイコンをクリックします。
34
38
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-26/a06c9a70-d4fc-402a-8196-2aaa9214fb5c.png)
35
39
   
36
40
   
37
- ⑦右下の「トリガー追加」ボタンをクリックします。
41
+ ⑦右下の「トリガー追加」ボタンをクリックします。
38
42
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-26/89f68989-e0e8-4dc0-af32-83ecc1010bd8.png)
39
43
   
40
44
   
@@ -116,7 +120,7 @@
116
120
  ・URLをコピーして、完了をクリックします。
117
121
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-27/f34b7cb2-03d5-4fe7-85a7-aa5516c1c156.png)
118
122
 
119
- ・コピーしたデプロイURLを、コードのurlに上書きして、保存します。
123
+ ・コピーした**デプロイURLを、コードのurlに上書きして、コードを保存します**
120
124
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-27/e64b95df-19a6-42fa-a52d-b4c46a05a72b.png)
121
125
 
122
126
  ・**再び**右上の「デプロイ」ボタンから「デプロイをテスト」を選択し、完了ボタンを押します。(必須。これを忘れると反映されません。)
@@ -125,20 +129,20 @@
125
129
 
126
130
  ※本番稼働時では、「デプロイをテスト」ではなく、「新しいデプロイ」でデプロイしてください。
127
131
 
132
+ ※当然ですが。デプロイする前にコードを保存しないと、修正内容が反映されないので注意してください。
133
+
128
134
  ---
129
-
130
-
131
- ----
135
+
132
136
 
133
137
  # コード修正点について:
134
138
  ⑤でも触れましたが、コードのうち
135
- generateBodies 関数の2行目は、下記のように tiimeStampと emailの2つを追加する必要があります。
139
+ generateBodies 関数の2行目は、下記のように timeStampと emailの2つを追加する必要があります。
136
140
  ```js
137
141
  function generateBodies(values) {
138
142
  const [timeStamp, email, number, date, name, reason, organization, place, leeding, lodging, car, freeway] = values;
139
143
  以下略
140
144
  ```
141
-
145
+  
142
146
  理由:
143
147
  doGet関数の中で
144
148
  ```

5

 

2022/04/26 21:47

投稿

退会済みユーザー
test CHANGED
@@ -22,12 +22,21 @@
22
22
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-26/811be401-c009-4315-8647-419f6b027c99.png)
23
23
 
24
24
  ⑤ エディタに、コードを記入して保存します。
25
+   ※コードは一部修正する必要があります。
26
+  具体的には、generateBodies 関数の2行目は、下記のように tiimeStampと emailの2つを追加する必要があります。
27
+ ```js
28
+ function generateBodies(values) {
29
+ const [timeStamp, email, number, date, name, reason, organization, place, leeding, lodging, car, freeway] = values;
30
+ 以下略
31
+ ```
25
32
   
26
33
  ⑥エディタにコードを全部書いて保存したら、左側に並んでいるアイコンのうち、時計のアイコンをクリックします。
27
34
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-26/a06c9a70-d4fc-402a-8196-2aaa9214fb5c.png)
28
35
   
36
+  
29
37
  ⑦右下の「トリガーの追加」ボタンをクリックします。
30
38
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-26/89f68989-e0e8-4dc0-af32-83ecc1010bd8.png)
39
+  
31
40
   
32
41
  ⑧トリガー設定画面が開くので、
33
42
  ・実行する関数を選択 → sendMessage
@@ -35,53 +44,66 @@
35
44
  に設定し、右下の「保存」ボタンをクリックします。
36
45
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-26/2f81fdbf-5d47-458c-a578-1e47ac02fc92.png)
37
46
 
47
+  
48
+
38
49
  ⑨ 左側の<>のマークをクリックしてエディタに戻ります。
39
50
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-26/83b9f5cd-4b64-4eea-bc29-6c769f1265be.png)
40
-
51
+  
52
+  
41
53
  ⑩ 右上の「デプロイ」ボタンをクリックし、「新しいデプロイ」を選択します。
42
54
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-26/ebbb54c6-72fa-4445-8410-fb86f377741a.png)
43
-
55
+  
56
+  
44
57
  ⑪ 歯車のアイコンをクリックし、「ウェブアプリ」を選択します。
45
58
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-26/c4e57aa7-9f77-4fb9-b86f-76368bf7ed87.png)
59
+  
46
60
   
47
61
  ⑫  次のユーザーとして実行→自分
48
62
    アクセスできるユーザー→全員
49
63
  に指定して、右下の「デプロイ」ボタンをクリックします。
50
64
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-26/7927e89f-2717-4059-9b20-65aede097871.png)
51
65
   
66
+  
52
67
  ⑬ デプロイが更新されるので、上の方に書いてある「バージョン」を覚えておき、
53
68
  中段のウェブアプリのURLにある「コピー」ボタンをおします(URLがクリップボードにコピーされます)
54
69
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-26/cad17e21-239d-4414-a541-9d741d14d56c.png)
55
-
70
+  
56
71
   
57
72
  ⑭ コードに戻って、urlのところを、先ほどコピーしたurlに上書きします。
58
73
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-26/9d76cbd9-4ee8-4024-a5ea-ffd923590ec1.png)
74
+  
59
75
   
60
76
  ⑮ Ctrl+sを押して、コードを保存します(ここで保存し忘れると反映されません)
61
77
 
62
78
  ⑯ もう一度、左上のデプロイボタンをクリックし、「新しいデプロイ」を選択します。
63
79
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-26/b53a65b7-17c8-48cd-858a-7ecc3d9e7127.png)
64
80
   
81
+  
65
82
  ⑰ 右下の「デプロイ」をクリックします。
66
83
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-26/6dd2c127-8aaa-4aa3-8978-3982a48fe650.png)
84
+  
67
85
   
68
86
  ⑱ さらに再度右上のデプロイボタンをクリックしますが、今度は**デプロイを管理**を選択します。
69
87
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-26/3af6bf7e-bc4b-429b-a0c3-2c47404f5967.png)
70
88
   
89
+  
71
90
  ⑲ 左に並んでいる「無題」のうち、古い方(先ほど覚えたバージョンのもの)を選択します。
72
91
  そして、右上の鉛筆ボタンをクリックします。
73
92
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-26/67f5f450-b16f-430f-a95a-d0bd9ac05438.png)
74
-
93
+  
75
94
   
76
95
  ⑳ ドロップダウンをクリックして、バージョンを最新バージョンにします。
77
96
  (一番上の「新バージョン」または、その1つ下の最新バージョンを選択)
78
97
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-27/197d80ef-e263-49a2-a055-4e8e30d904bb.png)
79
98
 
80
99
 
100
+  
81
101
  ここまでできたら、右下の「デプロイ」をクリック→「完了」をクリック。
102
+  
103
+  
82
104
 
83
105
  ----
84
-
106
+  
85
107
  ※ コードを編集する都度、⑮~⑳の操作によって、バージョンを更新していく必要があります。
86
108
  そうしないと、コード中の 「url」 に対応するコードが、最新のものになりません。
87
109
 
@@ -102,3 +124,41 @@
102
124
  あとは、**コードを修正・編集して保存する都度、右上の「デプロイ」ボタンから「デプロイをテスト」を選択し、完了ボタンを押す**、という操作を繰り返せばよいです。
103
125
 
104
126
  ※本番稼働時では、「デプロイをテスト」ではなく、「新しいデプロイ」でデプロイしてください。
127
+
128
+ ---
129
+
130
+
131
+ ----
132
+
133
+ # コード修正点について:
134
+ ⑤でも触れましたが、コードのうち
135
+ generateBodies 関数の2行目は、下記のように tiimeStampと emailの2つを追加する必要があります。
136
+ ```js
137
+ function generateBodies(values) {
138
+ const [timeStamp, email, number, date, name, reason, organization, place, leeding, lodging, car, freeway] = values;
139
+ 以下略
140
+ ```
141
+
142
+ 理由:
143
+ doGet関数の中で
144
+ ```
145
+ const values = sheet.getRange(row, 1, 1, 12).getValues()[0];
146
+ ```
147
+ となっているように、valuesは、1行12列の範囲から読み取っている為、12個の要素を持つ配列となっています。
148
+  
149
+ したがって、generateBodies 関数の冒頭でvaluesを分割代入する際も、
150
+ 12個の変数に代入する必要があります。
151
+  
152
+ また 、generateBodies 関数の後半で
153
+ ```js
154
+ return {
155
+ email: email,
156
+ plain: plain,
157
+ html: html
158
+ };
159
+ ```
160
+ となっていることから、email という変数がないとエラーになってしまいます。
161
+  
162
+ 元記事でも、最初の2つは timeStamp と emailになっていることから、
163
+ (フォームの設定画面でメール収集を必須にしたうえで)
164
+ timeStamp と email も 分割代入の対象に加えるようにします。

4

  

2022/04/26 21:45

投稿

退会済みユーザー
test CHANGED
@@ -6,13 +6,15 @@
6
6
  ①フォームを作ります。
7
7
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-26/0e85dffc-6199-49ea-8c5c-92bf0f2e7212.png)
8
8
   
9
- ② フォーム編集画面の上にある「質問」「回答」「設定」のうち、真ん中の回答」を選択し、緑コンクリックします。
9
+ ② フォーム編集画面の上にある「質問」「回答」「設定」のうち、「設定から「メールアドレス収集する」ッチonにておきます。
10
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-27/0ce420d8-33b5-450a-a5ee-ba95d497aded.png)
11
+   
12
+
13
+ さらに、真ん中の「回答」を選択し、緑のアイコンをクリックします。
10
14
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-26/d5cf368c-ca17-40c7-aa53-a48dcaba1c5f.png)
11
15
   
16
+  
12
17
 
13
- さらに、「設定」から「メールアドレスを収集する」のスイッチをonにしておきます。
14
-  
15
- ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-27/0ce420d8-33b5-450a-a5ee-ba95d497aded.png)
16
18
  ③「新しいスプレッドシートを作成」を選択し、「作成」をクリックします。
17
19
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-26/298042d8-2f00-40e9-b242-952da098b146.png)
18
20
 

3

 

2022/04/26 21:23

投稿

退会済みユーザー
test CHANGED
@@ -73,7 +73,7 @@
73
73
   
74
74
  ⑳ ドロップダウンをクリックして、バージョンを最新バージョンにします。
75
75
  (一番上の「新バージョン」または、その1つ下の最新バージョンを選択)
76
- ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-26/22be2e86-8c60-4185-ba53-22f38db61fd8.png)
76
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-27/197d80ef-e263-49a2-a055-4e8e30d904bb.png)
77
77
 
78
78
 
79
79
  ここまでできたら、右下の「デプロイ」をクリック→「完了」をクリック。
@@ -92,11 +92,11 @@
92
92
  ・URLをコピーして、完了をクリックします。
93
93
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-27/f34b7cb2-03d5-4fe7-85a7-aa5516c1c156.png)
94
94
 
95
- ・コピーしたURLを、コードのurlに上書きして、保存します。
95
+ ・コピーしたデプロイURLを、コードのurlに上書きして、保存します。
96
- ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-27/1fa1abdf-411b-4923-aa8e-17418f20ebb4.png)
96
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-27/e64b95df-19a6-42fa-a52d-b4c46a05a72b.png)
97
97
 
98
- ・再び右上の「デプロイ」ボタンから「デプロイをテスト」を選択し、完了ボタンを押します。
98
+ **再び**右上の「デプロイ」ボタンから「デプロイをテスト」を選択し、完了ボタンを押します。(必須。これを忘れると反映されません。)
99
99
   
100
- あとは、コードを修正・編集して保存する都度、右上の「デプロイ」ボタンから「デプロイをテスト」を選択し、完了ボタンを押す、という操作を繰り返せばよいです。
100
+ あとは、**コードを修正・編集して保存する都度、右上の「デプロイ」ボタンから「デプロイをテスト」を選択し、完了ボタンを押す**、という操作を繰り返せばよいです。
101
101
 
102
102
  ※本番稼働時では、「デプロイをテスト」ではなく、「新しいデプロイ」でデプロイしてください。

2

追記

2022/04/26 21:17

投稿

退会済みユーザー
test CHANGED
@@ -9,6 +9,10 @@
9
9
  ② フォーム編集画面の上にある「質問」「回答」「設定」のうち、真ん中の「回答」を選択し、緑のアイコンをクリックします。
10
10
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-26/d5cf368c-ca17-40c7-aa53-a48dcaba1c5f.png)
11
11
   
12
+
13
+ さらに、「設定」から「メールアドレスを収集する」のスイッチをonにしておきます。
14
+  
15
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-27/0ce420d8-33b5-450a-a5ee-ba95d497aded.png)
12
16
  ③「新しいスプレッドシートを作成」を選択し、「作成」をクリックします。
13
17
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-26/298042d8-2f00-40e9-b242-952da098b146.png)
14
18
 
@@ -16,13 +20,6 @@
16
20
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-26/811be401-c009-4315-8647-419f6b027c99.png)
17
21
 
18
22
  ⑤ エディタに、コードを記入して保存します。
19
- ※コードは一部修正する必要があります。
20
-  具体的には、generateBodies 関数の2行目は、下記のように tiimeStampと emailの2つを追加する必要があります。
21
- ```js
22
- function generateBodies(values) {
23
- const [timeStamp, email, number, date, name, reason, organization, place, leeding, lodging, car, freeway] = values;
24
- 以下略
25
- ```
26
23
   
27
24
  ⑥エディタにコードを全部書いて保存したら、左側に並んでいるアイコンのうち、時計のアイコンをクリックします。
28
25
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-26/a06c9a70-d4fc-402a-8196-2aaa9214fb5c.png)
@@ -75,44 +72,31 @@
75
72
 
76
73
   
77
74
  ⑳ ドロップダウンをクリックして、バージョンを最新バージョンにします。
78
- ただし、一番上の「新バージョン」を選択するのでなく、その1つ下の最新バージョンを選択すること
75
+ (一番上の「新バージョン」または、その1つ下の最新バージョンを選択)
79
76
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-26/22be2e86-8c60-4185-ba53-22f38db61fd8.png)
80
77
 
81
78
 
82
79
  ここまでできたら、右下の「デプロイ」をクリック→「完了」をクリック。
83
80
 
84
-
85
81
  ----
86
82
 
87
- # コード修正点について:
88
- ⑤でも触れましたが、コードのうち
89
- generateBodies 関数の2行目は下記のように tiimeStampと emailの2つ追加する必要があります。
83
+ コードを編集する都度⑮~⑳操作にって、バージョン更新していく必要があります。
90
- ```js
91
- function generateBodies(values) {
84
+ そうしないと、コード中の 「url に対応するコードが、最新のものになりません。
92
- const [timeStamp, email, number, date, name, reason, organization, place, leeding, lodging, car, freeway] = values;
93
- 以下略
94
- ```
95
85
 
96
- 理由:
97
- doGet関数の中で
98
- ```
99
- const values = sheet.getRange(row, 1, 1, 12).getValues()[0];
100
- ```
101
- となってように、valuesは、1行12列範囲から読み取ってい為、12個の要素を持つ配列です。
86
+ 開発中で何度もデプロイバージョンを変えるのが煩わし場合は、下記のようにデプロイテストバージョンを使用すことも可能です。
87
+ これにより開発中、urlを固定することができます。
102
88
 
103
- たがってgenerateBodies 関数の冒頭でvalues分割代入る際も、
89
+ ・コード保存後、上記⑯で「新いデプロイ」ではなく「デプロイテスト」を選択しま
90
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-27/40ad956f-8106-4a65-81fb-29ab35d32593.png)
91
+
104
- 12個の変数に代入する必要があります。
92
+ ・URLをコピーして、完了をクリックします。
93
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-27/f34b7cb2-03d5-4fe7-85a7-aa5516c1c156.png)
94
+
95
+ ・コピーしたURLを、コードのurlに上書きして、保存します。
96
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-27/1fa1abdf-411b-4923-aa8e-17418f20ebb4.png)
97
+
98
+ ・再び右上の「デプロイ」ボタンから「デプロイをテスト」を選択し、完了ボタンを押します。
99
+  
100
+ あとは、コードを修正・編集して保存する都度、右上の「デプロイ」ボタンから「デプロイをテスト」を選択し、完了ボタンを押す、という操作を繰り返せばよいです。
105
101
 
106
- また 、generateBodies 関数の後半で
107
- ```js
108
- return {
109
- email: email,
110
- plain: plain,
111
- html: html
112
- };
113
- ```
114
- っていることからemail とう変数がないとエラーになっしまます
102
+ ※本番稼働時では、「デプロイをテスト」では「新しデプロイ」でデプロイしください。
115
-  
116
- 元記事でも、最初の2つは timeStamp と emailになっていることから、
117
- (フォームの設定画面でメール収集を必須にしたうえで)
118
- timeStamp と email も 分割代入の対象に加えるようにします。

1

追記

2022/04/26 15:32

投稿

退会済みユーザー
test CHANGED
@@ -16,6 +16,13 @@
16
16
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-26/811be401-c009-4315-8647-419f6b027c99.png)
17
17
 
18
18
  ⑤ エディタに、コードを記入して保存します。
19
+ ※コードは一部修正する必要があります。
20
+  具体的には、generateBodies 関数の2行目は、下記のように tiimeStampと emailの2つを追加する必要があります。
21
+ ```js
22
+ function generateBodies(values) {
23
+ const [timeStamp, email, number, date, name, reason, organization, place, leeding, lodging, car, freeway] = values;
24
+ 以下略
25
+ ```
19
26
   
20
27
  ⑥エディタにコードを全部書いて保存したら、左側に並んでいるアイコンのうち、時計のアイコンをクリックします。
21
28
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-26/a06c9a70-d4fc-402a-8196-2aaa9214fb5c.png)
@@ -73,3 +80,39 @@
73
80
 
74
81
 
75
82
  ここまでできたら、右下の「デプロイ」をクリック→「完了」をクリック。
83
+
84
+
85
+ ----
86
+
87
+ # コード修正点について:
88
+ ⑤でも触れましたが、コードのうち
89
+ generateBodies 関数の2行目は、下記のように tiimeStampと emailの2つを追加する必要があります。
90
+ ```js
91
+ function generateBodies(values) {
92
+ const [timeStamp, email, number, date, name, reason, organization, place, leeding, lodging, car, freeway] = values;
93
+ 以下略
94
+ ```
95
+
96
+ 理由:
97
+ doGet関数の中で
98
+ ```
99
+ const values = sheet.getRange(row, 1, 1, 12).getValues()[0];
100
+ ```
101
+ となっているように、valuesは、1行12列の範囲から読み取っている為、12個の要素を持つ配列です。
102
+
103
+ したがって、generateBodies 関数の冒頭でvaluesを分割代入する際も、
104
+ 12個の変数に代入する必要があります。
105
+
106
+ また 、generateBodies 関数の後半で
107
+ ```js
108
+ return {
109
+ email: email,
110
+ plain: plain,
111
+ html: html
112
+ };
113
+ ```
114
+ となっていることから、email という変数がないとエラーになってしまいます。
115
+  
116
+ 元記事でも、最初の2つは timeStamp と emailになっていることから、
117
+ (フォームの設定画面でメール収集を必須にしたうえで)
118
+ timeStamp と email も 分割代入の対象に加えるようにします。