Как получитьRange () группы ячеек при выполнении итерации в скрипте Google Apps? - PullRequest
1 голос
/ 18 февраля 2020

Я хочу проверить, есть ли в данном диапазоне пустые ячейки, и пытаюсь использовать приведенный ниже код для этого. Проблема в том, что Range не определен и может меняться с каждой итерацией. Я пробовал что-то вроде getRange('A'+ row : 'H'+ row), но в неправильном синтаксисе. Может кто-нибудь помочь мне с этим вопросом? Спасибо!

var sheet1 = spreadsheet.getSheetByName('Red'); // Get worksheet
var endRow = sheet1.getLastRow();
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); // Get current active spreadsheet.
var sheet2 = spreadsheet.getSheetByName('Template');
var runloop = true;
var startRow = 3;

for (var row = startRow; row <= endRow; row++) {

    var sheet_name = sheet1.getRange("A" + row).getValue(); // Get the JD number for the file name.
    var range = sheet1.getRange('A' + row: 'H' + row);

    if (range.isBlank()) {
        # Dome Something here
    }
}

Ответы [ 2 ]

4 голосов
/ 18 февраля 2020

Вы можете объединить A1Notation перед передачей его в getRange()

Пример:

function myFunction() {
  for (var row = 1; row <= 5; row++) {
    var rangeA = "A" + row;
    var rangeB = "H" + row;
    var range = rangeA + ":" + rangeB;

    Logger.log(range);

    // Get the JD number for the file name.
    var sheet_name = SpreadsheetApp.getActiveSheet().getRange(rangeA).getValue(); 
    var range = SpreadsheetApp.getActiveSheet().getRange(range);

    if (range.isBlank()) {

      Logger.log(range.getA1Notation() + " is blank!.");

    }
  }
}

Вывести журнал из примера:

enter image description here

1 голос
/ 18 февраля 2020

Вы можете попробовать Utilities.formatString

var range = sheet1.getRange(Utilities.formatString('A%s:H%s', row, row));

Для V8 runtime

const range = sheet1.getRange(`A${row}:H${row}`);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...