在 Google 表格的 Google Apps 腳本中,我想使用條形碼掃描儀將新資料輸入到單元格中。如果這個新資料符合我的預期,我希望激活另一個單元格,以便我可以繼續輸入資料。這用于創建清單,輸入的初始資料(以及代碼檢查的內容)將是當時使用掃描儀的人的姓名。這是我到目前為止所擁有的:
var ss = SpreadsheetApp.getActive()
var sheet1 = SpreadsheetApp.getActive().getSheetByName("Sheet1")
//Set active cell to A2 (cell below Name header) when file is opened.
function onOpen() {
sheet1.getRange('A2').activate();
}
function onEdit(e) {
if (e.range.getA1Notation() === 'A2') {
var nameval = sheet1.getActiveCell.getValue();
if (nameval == 'Alpha' || nameval == 'Beta') {
sheet1.getRange('D7').activate();
}
else {
sheet1.getRange('F1').activate();
}}}
不幸的是,這似乎沒有做任何事情 - 單元格中的值被接受,但是當輸入任何一個激活案例時,新單元格都沒有激活。
uj5u.com熱心網友回復:
修改點:
- 在您的腳本中,
sheet1未宣告。 getActiveCellofsheet1.getActiveCell.getValue()不作為方法運行。- 我想這
nameval == 'Alpha' || nameval == 'Beta'可能是由includes.
當這些點反映在你的腳本中時,它變成如下。
修改后的腳本:
function onEdit(e) {
var range = e.range;
var sheet1 = range.getSheet();
if (range.getA1Notation() === 'A2') {
var active = ['Alpha', 'Beta'].includes(range.getValue()) ? "D7" : "F1";
sheet1.getRange(active).activate();
}
}
- 在這個修改后的腳本中,當“Alpha”或“Beta”值被放入單元格“A2”時,單元格“D7”被激活。當將“Alpha”和“Beta”以外的值放入單元格“A2”時,將激活單元格“F1”。
筆記:
- 此腳本由 OnEdit 簡單觸發器自動運行。因此,當您直接使用腳本編輯器運行此腳本時,會出現錯誤。請注意這一點。
參考:
- 簡單觸發器
- 包括()
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/496002.html
上一篇:根據條件過濾和匯出資料
下一篇:復雜文本的公式問題不起作用
