Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 脚本,用于将电子表格上不同工作表的列数与应用程序脚本进行比较_Javascript_Google Apps Script_Google Sheets - Fatal编程技术网

Javascript 脚本,用于将电子表格上不同工作表的列数与应用程序脚本进行比较

Javascript 脚本,用于将电子表格上不同工作表的列数与应用程序脚本进行比较,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我有以下代码: function ordenar1() { var spreadsheet = SpreadsheetApp.getActive(); spreadsheet.setActiveSheet(spreadsheet.getSheetByName('DATOS'), true); spreadsheet.getActiveSheet().setFrozenRows(0); var sensoresintalados = spreadsheet.getRange

我有以下代码:

    function ordenar1() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('DATOS'), true);
  spreadsheet.getActiveSheet().setFrozenRows(0);
  var sensoresintalados = spreadsheet.getRange("A1:A200").getNumColumns()
  var sheet = spreadsheet.getActiveSheet();
  sheet.getRange(1, 1, sheet.getMaxRows(), sheet.getMaxColumns()).activate();
  spreadsheet.getActiveSheet().sort(2, true);
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('smartsensor'))
  var numerosensores = sheet.getRange("B2:B200").getNumColumns() 
   if (sensoresintalados != numerosensores)
     Browser.msgBox('Actualiza la hoja de Smartsensor');
}
如果列数不同但不起作用,我想显示一条消息

我不知道问题是否出在使用
getNumColumns()
计算列数的条件或方法上。您可以使用
getRange(“A1:A200”)
查询检索范围内的列数。。。
  • 明显的反应是该范围仅包含1列
  • 对于范围
    “B2:B200”
  • 您希望isntead使用自动检测包含数据的范围的尺寸的方法
  • 对于包含多个工作表的电子表格,将方法
    getRange()
    getDataRange()
    应用于工作表而不是电子表格也很重要,以确保应用于正确的工作表
在您的情况下:

  • 替换

    var sensoresintalados=spreadsheet.getRange(“A1:A200”).getNumColumns()

    var sensoresintalados=电子表格.getActiveSheet().getDataRange().getNumColumns()

  • 替换

    var numeroSensors=sheet.getRange(“B2:B200”).getNumColumns()

    var numerosensores=sheet.getDataRange().getNumColumns()