我在SpreadSheet中使用一个脚本在活动目录下面添加一行,并从活动行复制内容。在PC上,我可以通过图像/绘图触发脚本,并且效果很好。但是我无法弄清楚如何使其在iOS应用程序中工作,在该应用程序中,图像触发不起作用,并且将内容从一个复制到另一个是噩梦。我尝试了onEdit和isChecked的每一行,但每次编辑都会给我新的一行。你能帮忙吗?
function addRow() {
var sheet = SpreadsheetApp.getActiveSheet(),
row = sheet.getActiveCell()
.getRow(),
rangeToCopy = sheet.getRange(row, 1, 1, 20);
sheet.insertRowAfter(row);
rangeToCopy.copyTo(sheet.getRange(row + 1, 1));
}
https://docs.google.com/spreadsheets/d/12WErwXRn6yPvG8FuR-DwltaSC-Fuk7aTB2NrJWMKFQ4/edit?usp=sharing
复选框将在iOS界面上很好地工作,我实际上已将其用于具有大量交付订单的主要餐厅(检查“就绪”订单并自动向驱动程序发送短信以表明其订单已准备就绪)。我们需要对电子表格进行的唯一更改是为每个单独的行添加一个复选框。
诀窍是通过重命名函数“ onEdit”来使用onEdit触发器
这是脚本:
function onEdit(e) {
//IF the cell that was edited was in column 1 and therefore a checkbox AND if the cell edited was checked (not unchecked):
if (e.range.columnStart === 1 && e.range.getValue() === true) {
var sheet = SpreadsheetApp.getActiveSheet(),
row = sheet.getActiveCell()
.getRow(),
rangeToCopy = sheet.getRange(row, 1, 1, 20);
sheet.insertRowAfter(row);
rangeToCopy.copyTo(sheet.getRange(row + 1, 1));
//Reset checked boxes
sheet.getRange(row,1,2,1).setValue(false);
}
}
注意:如果您快速连续检查一堆箱子,则Google脚本可能会漏掉一些。这很好,因为它们将保持选中状态,您将能够看到未运行的那些。只需取消选中并再次检查它们即可正常运行脚本。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句