【问题标题】:!= "TEXT" not working Google Sheet scripts!= "TEXT" 无法使用 Google Sheet 脚本
【发布时间】:2021-06-24 06:03:42
【问题描述】:

我有一个脚本试图识别是否在 F18:F 列中找到了“HRZ”,但它似乎不起作用......它永远不会识别“HRZ”,即使这就是列中的全部内容。 . 有人能帮忙吗?

function exportNotifyHinges() {

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('Hinge'); //source sheet
  var testrange = sheet.getRange('F18:F'); //range to check
  var testvalue = (testrange.getValues());
  var ui = SpreadsheetApp.getUi();

  var shouldExport = true;
  for (i=0; i<testvalue.length;i++) {
    if ( testvalue[i] != "HRZ") {
      var response = ui.alert("Vertical conformance data identified in report. \n\n Do you want to cancel the export?",ui.ButtonSet.YES_NO);
      Logger.log(response);
        
      if (response == ui.Button.YES) {
        SpreadsheetApp.getActive().toast("Export Cancelled...");
        shouldExport = false;
        }
      break;
    }
  }

【问题讨论】:

  • 请分享您的工作表副本。
  • 如果您将testvalue[i] 登录到控制台,您会看到什么?你看到一个字符串吗?或者可能是其他东西 - 例如数据数组[ ... ]
  • 旁注:我还建议使用===!== 而不是==!= - background
  • @andrewjames 上午 7:31:57 信息 [HRZ]

标签: google-apps-script google-sheets


【解决方案1】:

这里的关键是使用调试器并检查数组 testvalues

这表明每个元素都是一个二维数组,所以改变这行代码

if ( testvalue[i] != "HRZ") {

到这里,它工作正常

if ( testvalue[i][0] != "HRZ") {

【讨论】:

  • 不客气!我曾多次因为简单的错误而将头撞到墙上。我总是使用调试器并设置断点,因此我可以确保我的脚本正在执行我期望它们执行的操作。
  • 我还建议使用===!== 而不是==!= - background
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多