当频繁断开互联网时,我的onEdit功能不起作用。 我想将它分配给一个按钮,这样当有互联网可用时,我会按下按钮并完成它。 我也尝试更改功能名称,但仍然无法使用按钮执行其工作。如何在没有按钮的情况下工作
function onEdit(evt) {
try {
if( evt.range.getSheet().getName() === "invoice" ) {
// 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
}
}
//this alert no need if this function assigned to a button
SpreadsheetApp.getUi().alert("Item
<"+evt.range.offset(0,-4,1,1).getValue()+"> not found!");
}
}
}
catch(err) {
Logger.log(err);
}
}
答案 0 :(得分:0)
您可以创建custom menu来手动运行代码。在此示例中,假设您的onEdit()
函数现在称为doSomething()
。
// The onOpen function is executed automatically every time a Spreadsheet is loaded
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var menuEntries = [];
menuEntries.push({name: "Do Something", functionName: "doSomething"});
ss.addMenu("Custom Menu", menuEntries);
}
您将不得不重写您的脚本,使其不依赖于evt
,因为它将不再可用。