【发布时间】:2019-12-12 20:39:34
【问题描述】:
在向该社区寻求帮助并获得该社区成员 (Tedinoz) 的快速而准确的回答后,我偶然发现了两个问题。
所以解决问题,我正在尝试制作一个电子表格,如果选中了一个复选框,则行基于称为数量的列中的数字(基本上是数量-1)。
第一个问题:如何编写代码以使我的函数动态地转到电子表格中插入的所有行?当我尝试设置var row = sheet.getDataRange(); 时出现错误
第二个问题:当使用函数onEdit(e) 时,是否有一种变通方法,使该函数在选中复选框时不会添加无限行?我正在寻找在复选框为 True 时根据数量添加行或在复选框为 False 时减去行的东西(如果它们最初是为该行添加的)。
还有一种方法可以复制 C 列的文本或一系列文本(插入行时通过列)?
以下是我目前所拥有的:
function onEdit(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheetname = "Test";
var sheet = ss.getSheetByName(sheetname);
var row = sheet.getDataRange;
// get value of Column H
var colHValue = sheet.getRange(row,8).getValue()
if (colHValue = true){
//Logger.log("DEBUG: Col H = True. do something")
// get value of Column D
var Value = sheet.getRange(row,4).getValue();
// get the quantity and convert from a string to a number
var qty = Value;
var qtynum = +qty;
// var newtype = typeof qtynum; // DEBUG
//Logger.log("DEBUG: the quantity is "+qtynum+", new type = "+newtype)
// This inserts rows after
sheet.insertRowsAfter(row, qtynum-1);
}
else{
//Logger.log("DEBUG: col H <> True. do nothing");
}
}
【问题讨论】:
-
转到所有插入的行是什么意思?
标签: google-apps-script google-sheets triggers