質問編集履歴

4

間違い修正

2018/07/17 07:23

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -152,7 +152,7 @@
152
152
 
153
153
  if ((file=='')||(punchOut_limit=='')||(break_time=='')){
154
154
 
155
- //return false;
155
+ return false;
156
156
 
157
157
  }
158
158
 
@@ -182,7 +182,7 @@
182
182
 
183
183
 
184
184
 
185
- if (file_id == ''){
185
+ if (user_info == false){
186
186
 
187
187
  return //html画面を書き換えたい(*);
188
188
 

3

間違い修正

2018/07/17 07:23

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -182,7 +182,7 @@
182
182
 
183
183
 
184
184
 
185
- if (user_info == ''){
185
+ if (file_id == ''){
186
186
 
187
187
  return //html画面を書き換えたい(*);
188
188
 

2

誤字修正

2018/07/17 07:21

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  打刻アプリを作っており、エラー用のhtmlで起動時のhtmlを書き換えたいです。
10
10
 
11
- formで送られてきたデータを、対象のスプレットシートから検索し、紐づくデータを返却する数が
11
+ formで送られてきたデータを、対象のスプレットシートから検索し、紐づくデータを返却する数が
12
12
 
13
13
  あります。
14
14
 

1

詳細追加

2018/07/17 01:24

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -6,17 +6,29 @@
6
6
 
7
7
 
8
8
 
9
+ 打刻アプリを作っており、エラー用のhtmlで起動時のhtmlを書き換えたいです。
10
+
11
+ formで送られてきたデータを、対象のスプレットシートから検索し、紐づくデータを返却する変数が
12
+
13
+ あります。
14
+
15
+ データがかけているときに、エラーとしたいです。
16
+
17
+
18
+
9
19
  コード例
10
20
 
11
- .html
21
+ index.html
12
22
 
13
23
  ```
14
24
 
15
25
  <script type="application/javascript">
16
26
 
27
+ //onClick時にformの値を送信する
28
+
17
29
  function testFormSend(p) {
18
30
 
19
- google.script.run.withSuccessHandler().testInsert(p.parentNode);
31
+ google.script.run.withSuccessHandler().main(p.parentNode);
20
32
 
21
33
  }
22
34
 
@@ -25,6 +37,8 @@
25
37
  <body>
26
38
 
27
39
  <form>
40
+
41
+ <input class="form-control" id="user_name" type="text" name="user_name" value=''>
28
42
 
29
43
  <input id="button_test" class="btn btn-primary" type="button" name="btn" onclick="testFormSend(this);" value="test">
30
44
 
@@ -38,17 +52,141 @@
38
52
 
39
53
  ```
40
54
 
41
- function doGet(){
55
+ /*----------------------------------------------------
42
56
 
57
+ * html表示関数
58
+
59
+ * 処理内容
60
+
61
+ * htmlを表示する
62
+
63
+ * 関数名
64
+
65
+ * doGet
66
+
67
+ * 引数
68
+
69
+ * なし
70
+
71
+ * 戻り値
72
+
73
+ * html.evaluate();
74
+
75
+ *-------------------------------------------------- */
76
+
77
+ function doGet() {
78
+
79
+ var html = HtmlService.createTemplateFromFile('index');
80
+
43
- //起動時にhtml表示
81
+ return html.evaluate();
44
82
 
45
83
  }
46
84
 
47
85
 
48
86
 
49
- function testInsert(){
87
+ /*----------------------------------------------------
50
88
 
89
+ * ユーザー情報取得関数
90
+
91
+ * 処理内容
92
+
93
+ * ログインユーザーの情報を取得する
94
+
95
+ * 関数名
96
+
97
+ * getUserInfo
98
+
99
+ * 引数
100
+
101
+ * user_name : 氏名
102
+
103
+ * 戻り値
104
+
105
+ * result = [
106
+
107
+ * file, : 紐付くスプレットシートid
108
+
109
+ * punchIn_limit, : 遅刻の判定基準となる時間
110
+
111
+ * punchOut_limit, : 残業の判定基準となる時間
112
+
113
+ * break_time    : 休憩時間
114
+
115
+ * ]
116
+
117
+ *-------------------------------------------------- */
118
+
119
+ function getUserInfo(user_name){
120
+
121
+ var id = 'spreadSheetId';
122
+
123
+ var sheet_name = 'USER';
124
+
125
+  var spreadSheet = SpreadsheetApp.openById(id);
126
+
127
+  var sheet = spreadSheet.getSheetByName(sheet_name);
128
+
129
+ var dat = sheet.getDataRange().getValues();
130
+
131
+
132
+
133
+ for(var i=1;i<dat.length;i++){
134
+
135
+ if(dat[i][2] == user_name){
136
+
137
+ var range = sheet.getRange(i+1, 2);
138
+
139
+ var file = range.getValue();
140
+
141
+ var range = sheet.getRange(i+1, 4);
142
+
143
+ var punchIn_limit = range.getValue();
144
+
145
+ var range = sheet.getRange(i+1, 5);
146
+
147
+ var punchOut_limit = range.getValue();
148
+
149
+ var range = sheet.getRange(i+1, 6);
150
+
151
+ var break_time = Utilities.formatDate(range.getValue(), 'Asia/Tokyo', "HH:mm");
152
+
153
+ if ((file=='')||(punchOut_limit=='')||(break_time=='')){
154
+
155
+ //return false;
156
+
157
+ }
158
+
159
+ var result = [file, punchIn_limit, punchOut_limit, break_time];
160
+
161
+ return result;
162
+
163
+ }
164
+
165
+ }
166
+
167
+ //return false;
168
+
169
+ }
170
+
171
+
172
+
173
+
174
+
175
+ function main(form){
176
+
177
+ // 対象ファイル取得
178
+
179
+ var user_info = getUserInfo(form.user_name);
180
+
181
+ var file_id = user_info[0];
182
+
183
+
184
+
185
+ if (user_info == ''){
186
+
51
- //html画面を書き換えたい(*)
187
+ return //html画面を書き換えたい(*);
188
+
189
+ }
52
190
 
53
191
  }
54
192