【问题标题】:Google App Script check if the edited cell contains spaceGoogle App Script检查编辑的单元格是否包含空格
【发布时间】:2021-05-30 14:37:32
【问题描述】:

当我在editedCellValue中放置一个带空格的值时,以下代码不起作用

function onEdit(e) {

    var editedCellRange = 
    SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Test").getActiveRange();
    var editedCellValue = 
    SpreadsheetApp.getActiveSpreadsheet().getSheetByName("test").getActiveRange().getValue;
    if (RegExp(editedCellValue).test("\s")==true){editedCellRange.setValue("contains space")}
    else 
    {editedCellRange.setValue("ELSE IF")}
}

请帮忙解释为什么这不起作用。

谢谢。

【问题讨论】:

    标签: javascript regex if-statement google-apps-script google-sheets


    【解决方案1】:

    修改点:

    • 如果要使用test,请修改为(/\s/g).test(editedCellValue)
    • 例如,您也可以像editedCellValue.includes(" ") 一样使用includes。另外,indexOf 也可以使用。
    • 在你的情况下,我认为事件对象也可以使用。
    • 在您的脚本中,var editedCellValue = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("test").getActiveRange().getValue; 不会检索值,因为getValue 未运行。请加() 喜欢getValue()
    • 您可以声明一个SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Test")

    当以上几点反映到你的脚本中时,它变成如下。

    修改脚本:

    function onEdit(e) {
      var range = e.range;
      if (range.getSheet().getSheetName().toLowerCase() != "test") return;
      var editedCellValue = range.getValue();
      if ((/\s/g).test(editedCellValue)) {  // or if (editedCellValue.includes(" ")) {
        range.setValue("contains space")
      } else {
        range.setValue("ELSE IF")
      }
    }
    
    • 在这种情况下,当您编辑单元格时,OnEdit 触发器会自动运行onEdit。而且,在您的脚本中,已编辑的单元格被覆盖。请注意这一点。

    注意:

    • 如果你想直接用脚本编辑器运行函数,请将上面的脚本修改如下。

      • 来自

          var range = e.range;
          if (range.getSheet().getSheetName().toLowerCase() != "test") return;
        
      •   var range = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Test").getActiveRange();
        

    参考资料:

    【讨论】:

    • 谢谢! (/\s/g).test(editedCellValue) 正在工作。
    • @user13854773 感谢您的回复。我很高兴你的问题得到了解决。现在,我想在你的情况下,(/\s/).test(editedCellValue) 也可以使用。
    • 也很欣赏通过不重复自己来清理代码的提示。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-27
    • 2015-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多