質問編集履歴

3

修正

2017/03/15 17:46

投稿

MON5277
MON5277

スコア22

test CHANGED
File without changes
test CHANGED
@@ -7,233 +7,3 @@
7
7
 
8
8
 
9
9
  ちなみにスクリプトは4つ、トリガーはform送信時 の設定です。
10
-
11
-
12
-
13
- ```google apss script
14
-
15
-
16
-
17
- //スクリプト1
18
-
19
- function sendMailForm() //メール送信
20
-
21
- {
22
-
23
- Logger.log('sendMailForm() debug start');
24
-
25
-
26
-
27
- var subject = "【注文】 / ";
28
-
29
-
30
-
31
- var body
32
-
33
- = "注文内容\n\n"
34
-
35
- + "------------------------------------------------------------\n";
36
-
37
-
38
-
39
- var footer
40
-
41
- = "------------------------------------------------------------\n\n"
42
-
43
- + "納期連絡よろしくお願いします。";
44
-
45
-
46
-
47
- var SUBJ_COL_NAME = '件名';
48
-
49
- var SNDR_COL_NAME = 'ユーザー名';
50
-
51
- var EXCLUDE_COLS = ['ユーザー名','タイムスタンプ','ステータス'];
52
-
53
- var admin = "<管理者メールアドレス>";
54
-
55
- var to = "<送信先メールアドレス>";
56
-
57
- var from = "SNDR_COL_NAME";
58
-
59
- var spread_sheet_id = '<スプレッドシートID>';
60
-
61
- try{
62
-
63
- var ss = SpreadsheetApp. openById(spread_sheet_id);
64
-
65
- var sh = ss.getActiveSheet();
66
-
67
- var rows = sh.getLastRow();
68
-
69
- var cols = sh.getLastColumn();
70
-
71
- var rg = sh.getDataRange();
72
-
73
- Logger.log("rows="+rows+" cols="+cols);
74
-
75
- for ( var j = 1; j <= cols; j++ ) {
76
-
77
- var col_name = rg.getCell(1, j).getValue();
78
-
79
- var col_value = rg.getCell(rows, j).getValue();
80
-
81
-
82
-
83
- if ( col_name === SUBJ_COL_NAME ) {
84
-
85
- subject += col_value;
86
-
87
- }
88
-
89
- if ( col_name === SNDR_COL_NAME ) {
90
-
91
- from = col_value;
92
-
93
- }
94
-
95
- if ( EXCLUDE_COLS.length > 0 ) {
96
-
97
- is_exclude = false;
98
-
99
- for ( var k = 0; k < EXCLUDE_COLS.length; k++ ) {
100
-
101
- if ( col_name === EXCLUDE_COLS[k] ) {
102
-
103
- is_exclude = true;
104
-
105
- break;
106
-
107
- }
108
-
109
- }
110
-
111
- if ( is_exclude ) {
112
-
113
- // 除外カラムなのでスキップ
114
-
115
- continue;
116
-
117
- }
118
-
119
- }
120
-
121
-
122
-
123
- // メール本文に追加
124
-
125
- body += "【"+col_name+"】\n";
126
-
127
- body += col_value + "\n\n";
128
-
129
- }
130
-
131
- body += footer;
132
-
133
-
134
-
135
-
136
-
137
- // 送信先オプション
138
-
139
- var options = {};
140
-
141
- if ( from ) options.replyTo = from ;
142
-
143
-
144
-
145
- // メール送信
146
-
147
- if ( to ) {
148
-
149
- MailApp.sendEmail(to, subject, body, options);
150
-
151
- }else{
152
-
153
- MailApp.sendEmail(from, "【失敗】Googleフォームにメールアドレスが指定されていません", body);
154
-
155
- }
156
-
157
-
158
-
159
-
160
-
161
-
162
-
163
- // 連続で送るとエラーになるので1秒スリープ
164
-
165
- Utilities.sleep(1000);
166
-
167
-
168
-
169
- MailApp.sendEmail(admin, subject, body, options);
170
-
171
-
172
-
173
- }catch(e){
174
-
175
- MailApp.sendEmail(admin, "【失敗】Googleフォームからメール送信中にエラーが発生", e.message);
176
-
177
- }
178
-
179
- }
180
-
181
-
182
-
183
- //スクリプト2
184
-
185
- function sort(){ //降順で並び替え
186
-
187
- var ss = SpreadsheetApp.getActiveSpreadsheet();
188
-
189
- var sh = ss.getActiveSheet();
190
-
191
- var range = sh.getRange("A2:G");
192
-
193
- range.sort([{column: 1, ascending: false}]); //列1(A)を基準に 降順で並び替え
194
-
195
- }
196
-
197
-
198
-
199
- //スクリプト3
200
-
201
- function color(){ //背景色を一行おきに色を付ける
202
-
203
- var sheet = SpreadsheetApp.getActiveSheet();
204
-
205
- var numColumns = sheet.getLastColumn();
206
-
207
- for(var i=1;i<=sheet.getLastRow();i++){
208
-
209
- if(i%2==0){
210
-
211
- sheet.getRange(i, 1, 1, numColumns).setBackground('#F0F8FF');
212
-
213
- }else{
214
-
215
- sheet.getRange(i, 1, 1, numColumns).setBackground('#FFFFFF');
216
-
217
- }
218
-
219
- }
220
-
221
- }
222
-
223
-
224
-
225
- //スクリプト4
226
-
227
- function VerticalAlignment(){ //文字の配置を上詰めにする
228
-
229
- var sh = SpreadsheetApp.getActiveSheet();
230
-
231
- var rng = sh.getRange("A2:Y");
232
-
233
- rng.setVerticalAlignment("TOP");
234
-
235
-
236
-
237
- }
238
-
239
- ```

2

間違い修正

2017/03/15 17:46

投稿

MON5277
MON5277

スコア22

test CHANGED
File without changes
test CHANGED
@@ -8,8 +8,6 @@
8
8
 
9
9
  ちなみにスクリプトは4つ、トリガーはform送信時 の設定です。
10
10
 
11
- スクリプト1にはトリガーを設けておりません。
12
-
13
11
 
14
12
 
15
13
  ```google apss script

1

実際のプログラムを記載しました。

2017/03/15 17:07

投稿

MON5277
MON5277

スコア22

test CHANGED
File without changes
test CHANGED
@@ -7,3 +7,235 @@
7
7
 
8
8
 
9
9
  ちなみにスクリプトは4つ、トリガーはform送信時 の設定です。
10
+
11
+ スクリプト1にはトリガーを設けておりません。
12
+
13
+
14
+
15
+ ```google apss script
16
+
17
+
18
+
19
+ //スクリプト1
20
+
21
+ function sendMailForm() //メール送信
22
+
23
+ {
24
+
25
+ Logger.log('sendMailForm() debug start');
26
+
27
+
28
+
29
+ var subject = "【注文】 / ";
30
+
31
+
32
+
33
+ var body
34
+
35
+ = "注文内容\n\n"
36
+
37
+ + "------------------------------------------------------------\n";
38
+
39
+
40
+
41
+ var footer
42
+
43
+ = "------------------------------------------------------------\n\n"
44
+
45
+ + "納期連絡よろしくお願いします。";
46
+
47
+
48
+
49
+ var SUBJ_COL_NAME = '件名';
50
+
51
+ var SNDR_COL_NAME = 'ユーザー名';
52
+
53
+ var EXCLUDE_COLS = ['ユーザー名','タイムスタンプ','ステータス'];
54
+
55
+ var admin = "<管理者メールアドレス>";
56
+
57
+ var to = "<送信先メールアドレス>";
58
+
59
+ var from = "SNDR_COL_NAME";
60
+
61
+ var spread_sheet_id = '<スプレッドシートID>';
62
+
63
+ try{
64
+
65
+ var ss = SpreadsheetApp. openById(spread_sheet_id);
66
+
67
+ var sh = ss.getActiveSheet();
68
+
69
+ var rows = sh.getLastRow();
70
+
71
+ var cols = sh.getLastColumn();
72
+
73
+ var rg = sh.getDataRange();
74
+
75
+ Logger.log("rows="+rows+" cols="+cols);
76
+
77
+ for ( var j = 1; j <= cols; j++ ) {
78
+
79
+ var col_name = rg.getCell(1, j).getValue();
80
+
81
+ var col_value = rg.getCell(rows, j).getValue();
82
+
83
+
84
+
85
+ if ( col_name === SUBJ_COL_NAME ) {
86
+
87
+ subject += col_value;
88
+
89
+ }
90
+
91
+ if ( col_name === SNDR_COL_NAME ) {
92
+
93
+ from = col_value;
94
+
95
+ }
96
+
97
+ if ( EXCLUDE_COLS.length > 0 ) {
98
+
99
+ is_exclude = false;
100
+
101
+ for ( var k = 0; k < EXCLUDE_COLS.length; k++ ) {
102
+
103
+ if ( col_name === EXCLUDE_COLS[k] ) {
104
+
105
+ is_exclude = true;
106
+
107
+ break;
108
+
109
+ }
110
+
111
+ }
112
+
113
+ if ( is_exclude ) {
114
+
115
+ // 除外カラムなのでスキップ
116
+
117
+ continue;
118
+
119
+ }
120
+
121
+ }
122
+
123
+
124
+
125
+ // メール本文に追加
126
+
127
+ body += "【"+col_name+"】\n";
128
+
129
+ body += col_value + "\n\n";
130
+
131
+ }
132
+
133
+ body += footer;
134
+
135
+
136
+
137
+
138
+
139
+ // 送信先オプション
140
+
141
+ var options = {};
142
+
143
+ if ( from ) options.replyTo = from ;
144
+
145
+
146
+
147
+ // メール送信
148
+
149
+ if ( to ) {
150
+
151
+ MailApp.sendEmail(to, subject, body, options);
152
+
153
+ }else{
154
+
155
+ MailApp.sendEmail(from, "【失敗】Googleフォームにメールアドレスが指定されていません", body);
156
+
157
+ }
158
+
159
+
160
+
161
+
162
+
163
+
164
+
165
+ // 連続で送るとエラーになるので1秒スリープ
166
+
167
+ Utilities.sleep(1000);
168
+
169
+
170
+
171
+ MailApp.sendEmail(admin, subject, body, options);
172
+
173
+
174
+
175
+ }catch(e){
176
+
177
+ MailApp.sendEmail(admin, "【失敗】Googleフォームからメール送信中にエラーが発生", e.message);
178
+
179
+ }
180
+
181
+ }
182
+
183
+
184
+
185
+ //スクリプト2
186
+
187
+ function sort(){ //降順で並び替え
188
+
189
+ var ss = SpreadsheetApp.getActiveSpreadsheet();
190
+
191
+ var sh = ss.getActiveSheet();
192
+
193
+ var range = sh.getRange("A2:G");
194
+
195
+ range.sort([{column: 1, ascending: false}]); //列1(A)を基準に 降順で並び替え
196
+
197
+ }
198
+
199
+
200
+
201
+ //スクリプト3
202
+
203
+ function color(){ //背景色を一行おきに色を付ける
204
+
205
+ var sheet = SpreadsheetApp.getActiveSheet();
206
+
207
+ var numColumns = sheet.getLastColumn();
208
+
209
+ for(var i=1;i<=sheet.getLastRow();i++){
210
+
211
+ if(i%2==0){
212
+
213
+ sheet.getRange(i, 1, 1, numColumns).setBackground('#F0F8FF');
214
+
215
+ }else{
216
+
217
+ sheet.getRange(i, 1, 1, numColumns).setBackground('#FFFFFF');
218
+
219
+ }
220
+
221
+ }
222
+
223
+ }
224
+
225
+
226
+
227
+ //スクリプト4
228
+
229
+ function VerticalAlignment(){ //文字の配置を上詰めにする
230
+
231
+ var sh = SpreadsheetApp.getActiveSheet();
232
+
233
+ var rng = sh.getRange("A2:Y");
234
+
235
+ rng.setVerticalAlignment("TOP");
236
+
237
+
238
+
239
+ }
240
+
241
+ ```