如何一次更改多行的高度



如何通过Google Apps Script一次更改多行的高度?

尝试:

function resizeHeight() {
  var s = SpreadsheetApp,
      ui = s.getUi(),
      sh = s.getActiveSheet(),
      curntRow = s.getActiveRange().getRow(),
      rowsMany = s.getActiveRange().getNumRows(),
      autoRangeRows = s.getActiveRange().getA1Notation().replace(/[a-z]/gi,""),
      getVal = ui.prompt('⿱⇕', 'Change the height of row❓   Cancel. Back to default❗  (21)', ui.ButtonSet.OK_CANCEL),
      Btn = getVal.getSelectedButton(), Txt = getVal.getResponseText();
    for (var i=curntRow; i<=rowsMany+1; i++) {
      if (Btn == 'OK') {
         if (autoRangeRows.search(":") == -1) {sh.setRowHeight(curntRow, Txt);}
         else {sh.setRowHeight(i, Txt);}
      }
      if (Btn == 'CANCEL') {
         if (autoRangeRows.search(":") == -1) {sh.setRowHeight(curntRow, 21);}
         else {sh.setRowHeight(i, 21);}
      }
   }
}

问题:

该脚本不是很有效,它们只适用于部分或几行,但不能在所有行上实现。

这个函数有效:你只需要选择一个活动范围来选择要更改高度的行,然后在提示中给它一个以像素为单位的高度。

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)
  }
}

最新更新