質問編集履歴

2

シートの移動について自己解決しました

2019/12/17 05:15

投稿

yukitorte
yukitorte

スコア9

test CHANGED
File without changes
test CHANGED
@@ -52,7 +52,9 @@
52
52
 
53
53
 
54
54
 
55
- 動作4ののち、指定のシートを表示させることはできるでしょうか?
55
+ ~~動作4ののち、指定のシートを表示させることはできるでしょうか?~~
56
+
57
+ (こちらは自己解決しました)
56
58
 
57
59
 
58
60
 

1

質問内容と現在の挙動をより詳細にしました。また、コード内のコメント部分を修正しました。

2019/12/17 05:15

投稿

yukitorte
yukitorte

スコア9

test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,11 @@
4
4
 
5
5
  シートを開いた時にgetSelectedButtonを表示することで、
6
6
 
7
- 簡易的なパスワード制限&入場記録をとる仕組みを考えています
7
+ 簡易的なパスワード制限&入場記録をとる仕組みを考えていますが、
8
+
9
+ OKボタンを押した時の挙動が安定しないため、
10
+
11
+ コードにおかしい所がないかご意見をいただけませんでしょうか。
8
12
 
9
13
 
10
14
 
@@ -14,7 +18,7 @@
14
18
 
15
19
  . 2-a)OKボタン押下時、入力されたテキストと一致するパスワードがあるかpassSh検索
16
20
 
17
- .  3-a)一致する場合、entShに時刻と入力テキストを記録
21
+ .  3-a)一致する場合、entShに時刻と入力テキスト(使用されたパスワード)を記録
18
22
 
19
23
  .   4)「ご入力ありがとうございます」表示後、スクリプトを終了
20
24
 
@@ -28,9 +32,23 @@
28
32
 
29
33
  ###困っている所・改善できたら嬉しい所
30
34
 
31
- 空白のままOKを押した時、4)の挙動へ入ってまうことがある
35
+ 空白のままOKを押した時の挙動がおか
32
36
 
37
+ ・4)の挙動へ入ってしまう(alertが実行される)
38
+
39
+ ・alertをOKで消すと、そのままpromptmsgが終了してしまう
40
+
41
+  (空白をパスワード不一致とみなしていない?)
42
+
43
+
44
+
45
+ ×やキャンセル等でpromptmsgループを経由したあとだと、
46
+
47
+ 正しいパスワードを入力してもpromptmsgループ、空白でOKでもpromptmsgループ……となる。
48
+
49
+ 何度かOKを押していると終了する。
50
+
33
- ×やキャンセルを2回以上押した後だとpromptmsgに行くようです。処理がスタックしてる?)
51
+ (promptmsg();の挙動がスタックしてる?)
34
52
 
35
53
 
36
54
 
@@ -52,13 +70,13 @@
52
70
 
53
71
  function promptmsg(){
54
72
 
55
- var MasterSS = SpreadsheetApp.openById('***************');//参照先のSSID
73
+ var MasterSS = SpreadsheetApp.openById('***************');//SSID
56
74
 
57
75
  var passSh = MasterSS.getSheetByName('pass') //パスワード格納シート
58
76
 
59
77
  var entSh = MasterSS.getSheetByName('Log') //Logシート
60
78
 
61
- var values = passSh.getRange("C8:C378"); //passシートのC8:C378の値を取得
79
+ var values = passSh.getRange("C8:C400"); //passシートのC8:C378(パスワードリスト)の値を取得
62
80
 
63
81
  var today = Utilities.formatDate(new Date(), "JST", "yyyy/MM/dd HH:mm"); //dateのフォーマット指定
64
82
 
@@ -108,7 +126,7 @@
108
126
 
109
127
  promptmsg();
110
128
 
111
- case ui.Button.CLOSE: //キャンセルを押した時の処理
129
+ case ui.Button.CLOSE: //ダイアログの×を押した時の処理
112
130
 
113
131
  promptmsg();
114
132
 
@@ -119,3 +137,19 @@
119
137
 
120
138
 
121
139
  ```
140
+
141
+
142
+
143
+ ###追記の補足
144
+
145
+ パスワードは複数個(100個以上)あり、その中の
146
+
147
+ どのパスを使ってログインしたのかを記録するのが本スクリプトの目的になります。
148
+
149
+ (閲覧者がGoogleアカウントを持っていない場合でも、誰がログインしたのかを記録したい)
150
+
151
+
152
+
153
+ いろんな参考を引っ張ってきたキメラコードなので、不要な部分等あるかもしれません……。
154
+
155
+ ご意見よろしくお願いします。