IMT*_*Man 6 google-sheets google-apps-script
我熟悉锁定服务,但这仅用于锁定脚本。
我有一些代码可以“处理”大型Google表格。我的脚本需要对行重新排序。我需要/想要这样做,因此在脚本运行时,没有其他人可以更改顺序。但是,我仍然需要另一个脚本才能附加行。
我们将Google表单用于我们的团队。它将行追加到工作表。我有一个小时工作,将遍历所有行/记录并“处理它们”。我有一列存储上一次“处理”记录/行的时间。我想对该列进行排序,以使“最旧的”记录位于顶部,然后从上至下开始处理。如果脚本失败或超时,则下一次迭代将重新开始...
我知道我可以使用getValues或getDisplayValues获取一个数组,然后将其写回,但是我担心如果有人对行进行排序会怎样,因为回写数组时会把事情弄糟。
有什么办法可以实现我的目标?我希望能够处理记录,并保持行顺序以避免中断我的处理。
“完全”阻止电子表格的方法是更改电子表格共享设置。删除所有编辑器或将其更改为查看者,脚本完成后,将其更改回编辑器。在极端情况下,使用第二个帐户充当关键文件/电子表格的所有者,并且仅将其用于此目的,因此您可以阻止常规帐户对电子表格进行更改。
注意:Google 表单editResponseUrl可用于编辑链接的电子表格。
我面临类似的情况,但我采取了不同的方法,我使用索引/键列(您可以使用时间戳列)并使用索引/键将每个编辑的行保存到正确的位置,然后写入单个操作中的整个结果数组(通过使用setValues())。就我而言,这很简单,因为我只需要值,我不担心注释、数据验证、条件格式、注释等,并且没有链接到我的电子表格的 Google 表单。
有关的
| 归档时间: |
|
| 查看次数: |
51 次 |
| 最近记录: |