首页 > 解决方案 > browser.inputbox() 不适用于 onedit triggerT

问题描述

下面是browser.msgbox在单元格中输入特定值的代码。我们希望为每个这样的条目和存储值获取一个输入值。触发器对于onEdit此功能至关重要。onEdit 适用于 msgBox,但不适用于 inputBox。应该改变什么,以便为 onEdit 弹出 inputBox。

function onEdit(e){

    enter code here`var ws = SpreadsheetApp.getActiveSpreadsheet()
    enter code here`var ss = ws.getActiveSheet()
    var sheetName = "Sheet1"
    if(ss.getName() == sheetName){
    var activeCell = ws.getActiveCell()
    var cellValue = activeCell.getValue()
    var row = activeCell.getRow()
    var col = activeCell.getColumn()
    var colCheck = 6
    if(col == colCheck){
      if(cellValue == "nok"){
        if(ss.getRange(row-1, colCheck).getValue() == "nok" && ss.getRange(row-1, colCheck+1).isBlank()){
          Browser.msgBox("Commment Please ") //I WANT AN INPUT BOX HERE
      }else{
          Browser.msgBox("Commment Please ") ////I WANT AN INPUT BOX HERE
          activeCell.setBackground("red")
      }
}}}}

标签: google-apps-script

解决方案


Browser.inputBox不适用于简单 onEdit的触发器。

您需要用可安装的替换它。

为了这,

  • 重命名你的函数
  • 从 Apps 脚本编辑器 UI 转到Edit->Current Project's triggers
  • 点击+ Add trigger
  • 选择您的功能作为function to run
  • 选为On edit_event type

在此处输入图像描述


推荐阅读