首页 > 解决方案 > 将 onEdit 函数转换为普通函数

问题描述

我的发票有这个代码,它将数量值发送到 sheet2 中的库存清单,但这是一个onEdit函数。我希望通过发票末尾的按钮运行此功能。

在将其名称从 onEdit 更改为 (calculation) 但在菜单上使用后,我尝试对此做出响应。
谁能告诉我如何通过另一种方式将其更改为正常功能。

代码是

 //this function is to put quantity to a matching items and once run     then      it   is set off
function onEdit(evt) {
try {
if ( evt.range.getSheet().getName() === "Sheet1" ) {
  // Qty is in column F
  if ( ( evt.range.getRow() > 7 ) && ( evt.range.getRow() < 29 ) && ( evt.range.getColumn() === 6 ) ) {
    var sheet = evt.source.getSheetByName("stock");
    var range = sheet.getDataRange();
    var stock = range.getValues();
    for ( var i = 0; i < stock.length; i++ ) {
      // Compare to column B
      if ( stock[i][0] === evt.range.offset(0, -4, 1, 1).getValue() ) {
        range.offset(i, 2, 1, 1).setValue(evt.value);
        return
      }
    }
    SpreadsheetApp.getUi().alert("Item <" + evt.range.offset(0, -4, 1, 1).getValue() + "> not found!");
  }
}
} catch(err) {
  Logger.log(err);
}
}

标签: google-apps-scriptgoogle-sheetstriggers

解决方案


推荐阅读