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

質問編集履歴

2

補足追記

2019/07/16 15:41

投稿

handymatsu
handymatsu

スコア31

title CHANGED
File without changes
body CHANGED
@@ -27,6 +27,8 @@
27
27
 
28
28
  フォームの内容が反映されてから,GASプログラムを実行するようにしたいのですが,よい方法がありませんでしょうか?
29
29
 
30
+ 例えば,スプレッドシートの一番左上の「タイムスタンプ」に現在入力されているデータ数を記録しておき,GASではその数とデータの行数が一致しなくなるまで待つ,という手はあるのですが,フォオーム新規入力の場合は,okなのですが,修正の場合が対応できません。(T-T)
31
+
30
32
  (参考)
31
33
  なお,newしているクラスは,次のように定義しています。
32
34
 

1

文章のわかりにくいところを修正

2019/07/16 15:41

投稿

handymatsu
handymatsu

スコア31

title CHANGED
File without changes
body CHANGED
@@ -4,9 +4,9 @@
4
4
 
5
5
  GASプログラムでは,スプレッドシートに入力された内容を参照し,一番右端の列のさらに右側に,データ入力しています。
6
6
 
7
- ここで,困ったのが,フォームで入力されたデータが,実際にスプレッドシートに追加されるのが,とても遅く,実行時間によってなのかもしれませんが,30秒くらいかかるようで,反映される前の内容で,GASプログラムが実行されてしまいます。
7
+ ここで,困ったのが,フォームで入力されたデータが,実際にスプレッドシートに追加されるのが,とても遅く,時間によってなのかもしれませんが,30秒くらいかかるようで,反映される前の内容で,GASプログラムが実行されてしまいます。
8
8
 
9
- 最下行(最新データ)の一番右側の列の隣にデータ入力したいのですが,スプレッドシートへのフォーム入力データの反映が遅いため,一つ上の行のデータに対して,プログラムが実行されてしまいます。
9
+ つまり,最下行(フォーム入力されたばかりの最新データ)の一番右側の列の隣にデータ入力したいのですが,スプレッドシートへのフォーム入力データの反映が遅いため,結果として,一つ上の行のデータに対して,プログラムが実行されてしまいます。
10
10
 
11
11
  それで,
12
12
  ```ここに言語を入力
@@ -23,7 +23,7 @@
23
23
  ssOrg.flush(); //SpreadsheetApp.flush(); // シートの再描画
24
24
  ```
25
25
 
26
- のように,書いたのですが,これもうまくいきません。
26
+ のように,書いたのですが,これもうまくいきません。"タイムスタンプ"が,一瞬"wait"に切り替わるのは,目で見ていて分かりますが,それはフォームデータが反映される前なのです。
27
27
 
28
28
  フォームの内容が反映されてから,GASプログラムを実行するようにしたいのですが,よい方法がありませんでしょうか?
29
29