Объединение autoResizeRows и установка пустых строк размером 1 - PullRequest
0 голосов
/ 28 октября 2018

Моя цель - установить для пустых строк высоту 1, а для заполненных - подходящий размер (автоматический размер), но я не могу найти способ объединить эти два.
Это то, что я сейчас использую, но этоустанавливает пустые строки в 21 вместо 1:

function Higth() { 
var s = SpreadsheetApp.getActive().getActiveSheet();

s.autoResizeRows(5, 31);
// 5 is the row in which the resizing starts and 31 is the amount of rows this is done
}

Я надеюсь, что кто-то знает способ сделать это.

Иона

1 Ответ

0 голосов
/ 30 октября 2018

Я предлагаю вам использовать реализацию в этом посте SO , учитывая активный диапазон:

function changeRowHeight()
{
  var ss=SpreadsheetApp.getActiveSpreadsheet();
  var sht=ss.getActiveSheet()
  var rng=sht.getActiveRange();
  var row=rng.getRow();
  var numrows=rng.getNumRows();
  var resp=SpreadsheetApp.getUi().prompt('Get Row Height', 'Enter Row Height in Pixels', SpreadsheetApp.getUi().ButtonSet.OK);
  var height = Number(resp.getResponseText());
  for(var i=0;i<numrows;i++)
  {
    sht.setRowHeight(row + i, height)
  }
}

Затем вы можете вставить некоторую инструкцию if() впроверьте, заполнена ли данная строка текстом, с помощью функции autoResizeRows, указанной в документации Apps Script .Это должно быть что-то вроде этого:

Устанавливает высоту всех строк, начиная с данной позиции строки, чтобы соответствовать их содержимому.

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

// Sets the first 15 rows to a height that fits their text.
sheet.autoResizeRows(1, 15);
...