如何使用按钮提交单元格中的值,同时焦点保留在该单元格中

问题描述 投票:0回答:2

Google 表格...我有一个名为 PartNum 的单元格和一个链接到函数的按钮(绘图)。用户在 PartNum 单元格中输入一个数字,然后单击触发函数以该值执行某些操作的按钮。

问题是该单元格的 .getValue() 永远不是用户输入的值,除非用户首先单击单元格之外。这并不直观。有解决办法吗?

google-apps-script google-sheets
2个回答
0
投票

每次用户进行更改时,他都需要保存电子表格以使脚本运行,例如,他可以通过单击单元格外部或按 Enter 键来完成此操作。写入时单元格中的值“不是”,Apps 脚本只能从工作表中读取值。


0
投票

我通过复选框解决了该问题: 我在工作表“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()
      }
   }
© www.soinside.com 2019 - 2024. All rights reserved.