Google 表格...我有一个名为 PartNum 的单元格和一个链接到函数的按钮(绘图)。用户在 PartNum 单元格中输入一个数字,然后单击触发函数以该值执行某些操作的按钮。
问题是该单元格的 .getValue() 永远不是用户输入的值,除非用户首先单击单元格之外。这并不直观。有解决办法吗?
每次用户进行更改时,他都需要保存电子表格以使脚本运行,例如,他可以通过单击单元格外部或按 Enter 键来完成此操作。写入时单元格中的值“不是”,Apps 脚本只能从工作表中读取值。
我通过复选框解决了该问题: 我在工作表“Submitdata”的单元格 C4 中创建了一个复选框 我在 onedit 中添加了以下代码:
function onEdit(e) {
var spreadsheet = SpreadsheetApp.getActive();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var ui = SpreadsheetApp.getUi();
var resultSheetName = ss.getSheetName();
var r = spreadsheet.getActiveCell();
var source_row = r.getRow();
var source_column = r.getColumn()
var Checkbox = ss.getSheetByName("Submitdata").getRange("C4").getValue()
if(Checkbox == true && source_row !== 4 && source_column !==3){
Browser.msgBox( "Submit failed klick again")
ss.getSheetByName("Submitdata").getRange("C4").setValue(false)
return;
}
添加你想要执行的函数:
if (resultSheetName == "Submitdata") {
if(source_row == 4 && source_column == 3){
ss.getSheetByName(resultSheetName).getRange("C4").setValue(false)
YourFunction()
}
}