diff --git a/src/newSku.ts b/src/newSku.ts index 1ebfefd..649a3a1 100644 --- a/src/newSku.ts +++ b/src/newSku.ts @@ -4,11 +4,10 @@ function newSku(e: GoogleAppsScript.Events.SheetsOnEdit) { console.log("skipping edit on sheet " + sheet.getName()) return } - var row = e.range.getRow() - var idCell = sheet.getRange(row, 16).getCell(1, 1) - var idCellValue = idCell.getValue() - var skuPrefixCell = sheet.getRange(row, 15).getCell(1, 1) - var skuPrefixCellValue = skuPrefixCell.getValue() + let row = e.range.getRow() + let idCell = getCellRangeByColumnName(sheet, "#", row) + let idCellValue = idCell.getValue() + let skuPrefixCellValue = getCellValueByColumnName(sheet, "sku_prefix", row) console.log("skuPrefixCellValue = '" + skuPrefixCellValue + "'") console.log("idCellValue = '" + idCellValue + "'") if (idCellValue != "?" && idCellValue != "n") { diff --git a/src/sheetUtils.ts b/src/sheetUtils.ts new file mode 100644 index 0000000..03a9d1e --- /dev/null +++ b/src/sheetUtils.ts @@ -0,0 +1,43 @@ +function getCellRangeByColumnName( + sheet: GoogleAppsScript.Spreadsheet.Sheet, + columnName: string, + row: number +) { + let data = sheet.getDataRange().getValues() + let column = data[0].indexOf(columnName) + if (column != -1) { + return sheet.getRange(row, column + 1, 1, 1) + } +} + +function getCellValueByColumnName( + sheet: GoogleAppsScript.Spreadsheet.Sheet, + columnName: string, + row: number +) { + let cell = getCellRangeByColumnName(sheet, columnName, row) + if (cell != null) { + return cell.getValue() + } +} + +function getColumnRangeByName( + sheet: GoogleAppsScript.Spreadsheet.Sheet, + columnName: string +) { + let data = sheet.getRange("A1:1").getValues() + let column = data[0].indexOf(columnName) + if (column != -1) { + return sheet.getRange(2, column + 1, sheet.getMaxRows()) + } +} + +function getColumnValuesByName( + sheet: GoogleAppsScript.Spreadsheet.Sheet, + columnName: string +) { + let column = getColumnRangeByName(sheet, columnName) + if (column != null) { + return column.getValues() + } +}