teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

情報不足でしたので、本文訂正およびコードの追記を行いました。

2019/09/29 08:36

投稿

Shizuku_Miyako
Shizuku_Miyako

スコア13

title CHANGED
File without changes
body CHANGED
@@ -1,12 +1,53 @@
1
- サーバー側の主な処理およびモーダルダイアログをクライアンに表示させる処理は実装済みなのですが、
1
+ サーバー側の主な処理およびモーダルダイアログをスプレッドシートに表示させる処理はコンテナバインドスクリプトで実装済みなのですが、
2
- サーバー側の処理が完了次第クライアント側のダイアログを閉じさせる良いコードが浮かばず困っている状況です。
2
+ サーバー側の処理が完了次第自動的にモールダイアログを閉じさせる良いコードが浮かばず困っている状況です。
3
3
 
4
4
  以下のいずれかの手段が実現可能でしたらコードをご教示頂けませんでしょうか。
5
5
  上記の期待動作が叶うのであれば、その他の手段でも構いません。
6
6
 
7
- ・サーバー側からクライアント側のonClickイベントを発生させる
7
+ ・サーバー側からクライアント側モーダル閉じるボタンに対してonClickイベントを発生させる
8
8
  →クライアント側でメソッドgoogle.script.host.close()を実行させる
9
9
 
10
- ・サーバー側でクライアント側スクリプトgoogle.script.host.close()を実行させる
10
+ ・サーバー側でクライアント側スクリプトgoogle.script.host.close()を実行させるコード
11
11
 
12
- どうぞよろしくお願い致します。
12
+ どうぞよろしくお願い致します。
13
+
14
+ ```GAS
15
+ function main(){
16
+ modalOpen();
17
+ syori1();
18
+ syori2();
19
+ modalClose();
20
+ }
21
+
22
+ function modalOpen(){
23
+ var page = HtmlService.createTemplateFromFile("notification").evaluate();
24
+ SpreadsheetApp.getUi().showModalDialog(page, "処理中です");
25
+ }
26
+
27
+ function syori1(){
28
+ //モーダルを動的にする内容は含まれない為、省略します。
29
+ }
30
+
31
+ function syori2(){
32
+ //モーダルを動的にする内容は含まれない為、省略します。
33
+ }
34
+
35
+ function modalClose(){
36
+ //ここにmodalOpenで開いたモーダルダイアログを閉じる処理を書きたい
37
+ }
38
+ ```
39
+
40
+
41
+ HTMLファイル名:notification
42
+ ```HTML
43
+
44
+ <!DOCTYPE html>
45
+ <html>
46
+ <head>
47
+ <base target="_top">
48
+ </head>
49
+ <body>
50
+ 完了までお待ちください。
51
+ </body>
52
+ </html>
53
+ ```