JSFiddle - React, Tailwind, and code Playground

by pierian_design

JavaScript

function cowsGetInfoAboutSelectedRange(sSheetName, bForPut) {

  var oReturn = {
    'bError': false,
    'sNotation': '',
    'sSheetName': '',
    'sMessage': '',
    'startRow': 1,
    'startColumn': 1
  };
  var oActiveSpreadsheet = SpreadsheetApp.getActive();
  var oActiveSheet = oActiveSpreadsheet.getActiveSheet();
  var sActiveSheetName = oActiveSheet.getName();
  var oActiveRange = {};
    
  if ((sActiveSheetName !== sSheetName) && (sSheetName.length)) {
    oActiveSheet = oActiveSpreadsheet.getSheetByName(sSheetName);
    oActiveRange = oActiveSheet.getDataRange();
    oActiveRange.activate();
  } else {
    oActiveRange = oActiveSheet.getActiveRange();
  }
  
  var sANotations = oActiveRange.getA1Notation();

  if ((oActiveRange.getNumRows() < 2 || oActiveRange.getNumColumns() < 2) && !bForPut) {
    oReturn.bError = true;
    oReturn.sMessage = 'The selected range is too small';
  }
  if (oActiveRange.isBlank() && !bForPut ) {
    oReturn.bError = true;
    oReturn.sMessage = 'The selected range is empty';
  }   
  oReturn.sSheetName = oActiveSheet.getName();
  oReturn.sNotation = sANotations;
  oReturn.startRow = oActiveRange.getRow();
  oReturn.startColumn = oActiveRange.getColumn();
  
  return JSON.stringify(oReturn);

}