google-apps-script - Google AppScript 在输入日期时移动行
问题描述
我有一个 Google 表格,其中有一个复选框列 (26) 和一个日期列 (27)。有两个影响此选项卡的活动脚本。
- 单击复选框 (26) 时,我有一个自动添加日期 (27) 的脚本。
- 单击复选框 (26) 时,我有一个将行移动到另一个选项卡的脚本。
我遇到的问题是,有时在添加日期之前移动了行。(下面粘贴的脚本)
如何更改脚本#2,以便在将任何日期添加到 Col 27 时而不是在 Col 26 中单击复选框时移动该行?
任何帮助深表感谢:
function onEdit(event) {
// assumes source data in sheet named main
// target sheet of move to named Completed
// getColumn with check-boxes is currently set to colu 26 or
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();
if(s.getName() == "APPROVAL QUEUE" && r.getColumn() == 26 && r.getValue() == true) {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("COMPLETED ORDERS");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).moveTo(target);
s.deleteRow(row);
}
}
解决方案
让这个函数不是 onEdit 函数,而是常规函数怎么样。然后在放入日期的 onEdit 脚本中调用此函数。这样它就完成了日期的输入,然后运行脚本来移动该行数据。您甚至可以放置一个 Utilities.sleep(1000) (1000 微秒是一秒)来延迟脚本移动行。
推荐阅读
- solr - Solr 增加 maxBooleanClauses 不起作用
- android - 在 Kotlin 的 Data 类中拥有内部类和接口是否是最佳实践
- javascript - ASP.NET- On the Master Page, the contents overlap with the header
- android - 启用串行控制台 性能受到影响。要禁用,请检查引导加载程序
- java - Why the below pattern matching is giving True for the String "ababx300000055773908"
- r - Teradata QVCI 功能已禁用
- uno - Uno 不适用于现有的 PCL 项目。.NetStandar 2.0 出现 uwp 错误
- python - 在 pyspark 中出现相同的字数 -
- sql-server - 使用另一个表中去年的计算更新列
- c++ - C++ 中的堆栈程序