質問編集履歴

3

tuiki

2020/02/18 01:34

投稿

sansam
sansam

スコア18

test CHANGED
File without changes
test CHANGED
@@ -204,7 +204,7 @@
204
204
 
205
205
  こんにちは! <?!=address?> さん
206
206
 
207
- <form method="post" action="https://script.google.com/a/mediceo-gp.com/macros/s/AKfycbxldx3IwO6qlEhZtHNtcbFgGANP5d2ST7OLH2wHf-wWzd9pHgU/exec">
207
+ <form method="post" action="https://script.google.com/a/XXXXX/exec">
208
208
 
209
209
  ID:<input type="text" name="id" id="id"><br>
210
210
 
@@ -388,7 +388,7 @@
388
388
 
389
389
  // var Properties = PropertiesService.getScriptProperties();
390
390
 
391
- // var sheettaro = Properties.getProperty('1DrFKikHrAie4IWZaqFcMibG831MC_RSGt2kPHt4hCLg');
391
+ // var sheettaro = Properties.getProperty('XXXXXXX');
392
392
 
393
393
  //スプレッドシート名指定
394
394
 

2

修正した

2020/02/18 01:34

投稿

sansam
sansam

スコア18

test CHANGED
File without changes
test CHANGED
@@ -168,4 +168,384 @@
168
168
 
169
169
 
170
170
 
171
+ ```追記します。
172
+
173
+
174
+
175
+ 頂いたサンプルコードで、試しに実装してみましたが、
176
+
177
+ 私の技術力不足で、できず、丸投げするつももりはないのですが、以下のコードで
178
+
179
+ 修正すべき点をご教示いただければ幸いです。
180
+
181
+
182
+
183
+ ```HTML
184
+
185
+ <!DOCTYPE html>
186
+
187
+ <html>
188
+
189
+
190
+
191
+ <head>
192
+
193
+ <base target="_top">
194
+
195
+ <?var address = Session.getActiveUser().getUserLoginId();?>
196
+
197
+ </head>
198
+
199
+
200
+
201
+ <body>
202
+
203
+ <h1>本社振込</h1>
204
+
205
+ こんにちは! <?!=address?> さん
206
+
207
+ <form method="post" action="https://script.google.com/a/mediceo-gp.com/macros/s/AKfycbxldx3IwO6qlEhZtHNtcbFgGANP5d2ST7OLH2wHf-wWzd9pHgU/exec">
208
+
209
+ ID:<input type="text" name="id" id="id"><br>
210
+
211
+ 氏名:<input type="text" name="name" id="name"><br>
212
+
213
+ 性別:
214
+
215
+ <input type="radio" name="gender" value="男性" id="gender1">男性
216
+
217
+ <input type="radio" name="gender" value="女性" id="gender2">女性<br>
218
+
219
+ 好きな動物:
220
+
221
+ <input type="checkbox" name="animal" value="犬" id="animal1">いぬ
222
+
223
+ <input type="checkbox" name="animal" value="猫" id="animal2">ねこ
224
+
225
+ <input type="checkbox" name="animal" value="うさぎ" id="animal3">うさぎ<br>
226
+
227
+ <input type="submit" value="送信する" onclick="createPDF()">
228
+
229
+ <input type="submit" value="修正する" onclick="sheetman(textvalue)">
230
+
231
+ </form>
232
+
233
+ </body>
234
+
235
+
236
+
237
+ <script>
238
+
239
+ function createPDF(){
240
+
241
+ google.script.run.withSuccessHandler().GetInfo();
242
+
243
+ }
244
+
245
+
246
+
247
+ ///////////////////////////////////////////////////////////////////////////////////////////
248
+
249
+ function senddata(){
250
+
251
+ var textvalue = document.getElementById("id").value;
252
+
253
+
254
+
255
+ //入力内容が空の場合、アラートを出す
256
+
257
+ if(textvalue == ""){
258
+
259
+ alert("申請時発行のNo.が入力されていませんよ。");
260
+
261
+ return 0;
262
+
263
+ }
264
+
265
+
266
+
267
+ //editnumに要求IDを格納する
268
+
269
+ editnum = textvalue;
270
+
271
+
272
+
273
+ google.script.run.withSuccessHandler(onSuccess).sheetman(textvalue);
274
+
275
+
276
+
277
+ }
278
+
279
+
280
+
281
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////
282
+
283
+ //配列を受け取って表示する関数
284
+
285
+ function onSuccess(data) {
286
+
287
+ //帰ってきたデータを取得する
288
+
289
+ var test = JSON.parse(data);
290
+
291
+ var chktest = Number(test[0]);
292
+
293
+
294
+
295
+ Logger.log(chktest);
296
+
297
+
298
+
299
+ if(chktest == 0){
300
+
301
+ alert("作成者が違う、IDが異なる、データが存在してないなどの理由でデータが見つかりませんでした。");
302
+
303
+ return 0;
304
+
305
+ }
306
+
307
+
308
+
309
+ //datalengthを取得しループでwasabiフィールドに値を格納する(editflagを1にする)
310
+
311
+ editflag = 1;
312
+
313
+ var testlength = 63;
314
+
315
+ var cnt = 1;
316
+
317
+
318
+
319
+ for(var i = 0;i<testlength;i++){
320
+
321
+ if(i == 0){
322
+
323
+ continue;
324
+
325
+ }
326
+
327
+
328
+
329
+ if(i == 1){
330
+
331
+ continue;
332
+
333
+ }
334
+
335
+
336
+
337
+ //データを反映する
338
+
339
+ document.getElementById(name).value = syoudata;
340
+
341
+
342
+
343
+ //カウンタを回す
344
+
345
+ cnt = cnt + 1;
346
+
347
+ }
348
+
349
+ }
350
+
351
+
352
+
353
+ </script>
354
+
355
+
356
+
357
+ </html>
358
+
171
359
  ```
360
+
361
+ ```Javascript
362
+
363
+
364
+
365
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
366
+
367
+ //配列を渡す為のイベントハンドラから呼び出す関数
368
+
369
+ function sheetman(textvalue){
370
+
371
+ //現在のユーザ名と指定されたIDを取得しておく
372
+
373
+ var nowuser = String(Session.getActiveUser());
374
+
375
+ var filterid = String(textvalue);
376
+
377
+
378
+
379
+ //配列と存在フラグを用意する
380
+
381
+ var data = [];
382
+
383
+ var catflag = 0;
384
+
385
+
386
+
387
+ //gassheetより該当するデータを探索する
388
+
389
+ // var Properties = PropertiesService.getScriptProperties();
390
+
391
+ // var sheettaro = Properties.getProperty('1DrFKikHrAie4IWZaqFcMibG831MC_RSGt2kPHt4hCLg');
392
+
393
+ //スプレッドシート名指定
394
+
395
+  var id ='XXXXXXXXXXX';
396
+
397
+ var sheet2 = SpreadsheetApp.openById(id).getSheetByName('回答一覧');
398
+
399
+ var sheet=sheet2.getRange(2,1,5,6).getValue();
400
+
401
+ var sheetlength = sheet.length;
402
+
403
+
404
+
405
+
406
+
407
+ for(var i =0;i<sheetlength;i++){
408
+
409
+ //カレントデータのIDを取得し比較する
410
+
411
+
412
+
413
+ var curid = String(sheet[i][0]);
414
+
415
+
416
+
417
+ if(curid == ""){
418
+
419
+ break;
420
+
421
+ }
422
+
423
+
424
+
425
+ if(curid != filterid){
426
+
427
+ continue;
428
+
429
+ }else{
430
+
431
+
432
+
433
+ }
434
+
435
+
436
+
437
+ if(nowuser == manager){
438
+
439
+ //管理者の場合、メアドの照合は行わない
440
+
441
+ }else{
442
+
443
+ var mailman = String(sheet[i][63]);
444
+
445
+ if(mailman != nowuser){
446
+
447
+ continue;
448
+
449
+ }
450
+
451
+ }
452
+
453
+
454
+
455
+ //IDとメールアドレスが一致した場合には、存在フラグを立てて、データを配列に格納する
456
+
457
+ catflag = 1;
458
+
459
+ var curdatalength = sheet[i].length;
460
+
461
+
462
+
463
+ for(var j = 0;j<curdatalength;j++){
464
+
465
+ data.push(sheet[i][j]);
466
+
467
+ }
468
+
469
+ break;
470
+
471
+ }
472
+
473
+
474
+
475
+ //catflagが0の場合に配列の頭に0だけ格納する
476
+
477
+ if(catflag == 0){
478
+
479
+ data.push(0);
480
+
481
+ }
482
+
483
+
484
+
485
+ return JSON.stringify(data);
486
+
487
+
488
+
489
+ }
490
+
491
+ ```
492
+
493
+
494
+
495
+ ```Javaccript
496
+
497
+ function doGet() {
498
+
499
+
500
+
501
+ var toppage=HtmlService.createTemplateFromFile("index");
502
+
503
+ return toppage.evaluate();
504
+
505
+ }
506
+
507
+
508
+
509
+ function doPost(postdata){
510
+
511
+
512
+
513
+ var sh=SpreadsheetApp.openById('XXXXXXXXXXX');
514
+
515
+ var sheetForm=sh.getSheetByName('回答一覧');
516
+
517
+ var time=new Date();
518
+
519
+
520
+
521
+ var id=postdata.parameters.id.toString();
522
+
523
+ var name=postdata.parameters.name.toString();
524
+
525
+ var gender=postdata.parameters.gender.toString();
526
+
527
+ var animal=postdata.parameters.animal.toString();
528
+
529
+
530
+
531
+ //セッション情報からユーザID(メールアドレス)を取得
532
+
533
+ var objUser = Session.getActiveUser();
534
+
535
+ var mail = objUser.getEmail();
536
+
537
+
538
+
539
+ sheetForm.appendRow([time,id,name,gender,animal,mail]);
540
+
541
+
542
+
543
+ var resultpage=HtmlService.createTemplateFromFile("result");
544
+
545
+ return resultpage.evaluate();
546
+
547
+
548
+
549
+ }
550
+
551
+ ```

1

修正

2020/02/18 01:33

投稿

sansam
sansam

スコア18

test CHANGED
File without changes
test CHANGED
@@ -41,3 +41,131 @@
41
41
  1 Aさん 20歳 
42
42
 
43
43
  修正ボタン
44
+
45
+
46
+
47
+ ```HTML
48
+
49
+ <!DOCTYPE html>
50
+
51
+ <html>
52
+
53
+
54
+
55
+ <head>
56
+
57
+ <base target="_top">
58
+
59
+ <?var address = Session.getActiveUser().getUserLoginId();?>
60
+
61
+ </head>
62
+
63
+
64
+
65
+ <body>
66
+
67
+ <h1>振込</h1>
68
+
69
+ こんにちは! <?!=address?> さん
70
+
71
+ <form method="post" action="https://script.google.com/a/XXXXXXXXX/exec">
72
+
73
+ 氏名:<input type="text" name="name"><br>
74
+
75
+ 性別:
76
+
77
+ <input type="radio" name="gender" value="男性">男性
78
+
79
+ <input type="radio" name="gender" value="女性">女性<br>
80
+
81
+ 好きな動物:
82
+
83
+ <input type="checkbox" name="animal" value="犬">いぬ
84
+
85
+ <input type="checkbox" name="animal" value="猫">ねこ
86
+
87
+ <input type="checkbox" name="animal" value="うさぎ">うさぎ<br>
88
+
89
+ <input type="submit" value="送信する" onclick="createPDF()">
90
+
91
+ </form>
92
+
93
+ </body>
94
+
95
+
96
+
97
+ <script>
98
+
99
+ function createPDF(){
100
+
101
+ google.script.run.withSuccessHandler().GetInfo();
102
+
103
+ }
104
+
105
+ </script>
106
+
107
+
108
+
109
+ </html>
110
+
111
+
112
+
113
+ ```
114
+
115
+ ```GAS
116
+
117
+ function doGet() {
118
+
119
+
120
+
121
+ var toppage=HtmlService.createTemplateFromFile("index");
122
+
123
+
124
+
125
+ return toppage.evaluate();
126
+
127
+
128
+
129
+ }
130
+
131
+
132
+
133
+ function doPost(postdata){
134
+
135
+
136
+
137
+ var sh=SpreadsheetApp.openById('XXXXXXXXXX');
138
+
139
+ var sheetForm=sh.getSheetByName('回答一覧');
140
+
141
+ var time=new Date();
142
+
143
+
144
+
145
+ var name=postdata.parameters.name.toString();
146
+
147
+ var gender=postdata.parameters.gender.toString();
148
+
149
+ var animal=postdata.parameters.animal.toString();
150
+
151
+
152
+
153
+ //セッション情報からユーザID(メールアドレス)を取得
154
+
155
+ var objUser = Session.getActiveUser();
156
+
157
+ var mail = objUser.getEmail();
158
+
159
+
160
+
161
+ sheetForm.appendRow([time,name,gender,animal,mail]);
162
+
163
+
164
+
165
+ var resultpage=HtmlService.createTemplateFromFile("result");
166
+
167
+ return resultpage.evaluate();
168
+
169
+
170
+
171
+ ```