如何通过Google Apps脚本一次更改多行的高度?
尝试:
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);}
}
}
}
问题:
脚本不是很有效,它们只能在部分或几行上工作,但不能在所有行上实现。
答案 0 :(得分:1)
此功能有效:您只需选择一个活动范围来选择要更改其高度的行,然后在提示中为其指定高度(以像素为单位)。
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)
}
}