我撰寫了一個函式,每次在單元格中放入一個不是數字的值時都會拋出一條訊息(toast)。它適用于一個單元格。問題是,我希望它在多個單元格范圍內作業,但它只適用于該范圍的第一個單元格。這是代碼:
function onEdit() {
var app = SpreadsheetApp;
var activeSheet = app.getActiveSpreadsheet().getSheetByName("TEST")
var workingCell = activeSheet.getRange("B13:B27").getValue();
if (typeof workingCell != "number" && workingCell != "") {
SpreadsheetApp.getActive().toast("This is not a number, please try again.");
}
}
如您所見,在該'gerRange()'部分中,我定義了我希望代碼在 B13 到 B27 范圍內作業,但它僅適用于第一個單元格 (B13)。
誰能告訴我可以做些什么來使它在一個范圍內作業?
謝謝你。
uj5u.com熱心網友回復:
我相信你的目標如下。
- 您想
SpreadsheetApp.getActive().toast("This is not a number, please try again.")在編輯“TEST”表上的“B13:B27”單元格時運行腳本。
在這種情況下,以下修改后的腳本如何?
修改后的腳本:
function onEdit(e) {
var { range } = e;
var workingCell = range.getValue();
if (
range.getSheet().getSheetName() == "TEST" &&
range.columnStart == 2 &&
range.rowStart >= 13 &&
range.rowEnd <= 27 &&
typeof workingCell != "number" &&
workingCell != ""
) {
SpreadsheetApp.getActive().toast("This is not a number, please try again.");
}
}
筆記:
- 在此修改中,使用了事件物件。因此,當您使用此腳本時,請編輯“TEST”表上的“B13:B27”單元格。至此,腳本運行完畢。
- 當您直接使用腳本編輯器運行此腳本時,會出現類似錯誤
Cannot destructure property 'range' of 'e' as it is undefined.。請注意這一點。
參考:
- 事件物件
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/389309.html
