1

レコード (行) を追加する 2 つの方法が必要なシートがあります。1 つは関連付けられたフォームで、もう 1 つは関連付けられたスクリプトです。スクリプトは正常に .appendRow() を実行し、.getLastRow() がインクリメントされましたが、次のフォーム送信では、最初の最後の行 (.getLastRow-1) であった間違った行の後にデータが追加されます。また、.appendRow() が Form(123) のように、スプレッドシート メニューの Form の後に表示される数値を増加させないことにも気付きました。スプレッドシートに 2 つの異なる最終行があるようです。

スクリプトの最後の行のフォームを増やすのを手伝ってくれる人はいますか。

ありがとう

4

1 に答える 1

3

これは、スクリプトによって入力されたデータが、フォーム送信に関連付けられたいわゆるテーブル (明るい灰色の背景によって定義される) に自動的に吸収されないという問題のようです。後続のフォーム送信は (下のデータに関係なく) 灰色の領域の下部に追加され、フォーム送信数は灰色の領域の行のみに対応します。

不器用な回避策は、行を追加した後、copyTo メソッドを使用してデータを所定の位置にコピーすることです。

sheet.getRange(sheet.getLastRow(),1,1,sheet.getLastColumn())
     .copyTo(sheet.getRange(sheet.getLastRow(),1,1,sheet.getLastColumn()));

HTH

アダム

于 2012-05-13T04:49:15.237 に答える