自动调整多个 google sheet 的整行大小
resize the entire rows automatically of multiple google sheet
如何将所有 google 页的整行调整为 21
高度(我有大约 10 张),我一直在尝试使用以下代码,但它不起作用。
我有下面的代码,它根据字符串调整行的大小,但不会将其调整到高度 21。
function resizeAllrows () {
var sheet = SpreadsheetApp.getActiveSheet();
var dataRange = sheet.getDataRange();
var firstrow = dataRange.getRow();
var lastrow = dataRange.getLastrow();
sheet.autoResizeRows(firstrow, lastrow);
}
请看下面的图片,上面的代码不起作用。非常感谢您的帮助。
没有高级 google 服务的选项。
修改点:
- 在你的脚本中,我认为
getLastrow
的咒语需要修改为getLastRow
。
- 但是,从
but does not resize it to the Height 21.
开始,当字体较大 and/or 时,多个带有换行符的文本被放入一个单元格中,即使 autoResizeRows
和 setRowHeights
时,行高似乎取决于字体大小和所有文本高度。这似乎是当前的规范。所以,当你想针对这种情况强行把行高改为21
像素时,就需要使用SheetsAPI。
- 可在 this thread.
处查看示例脚本
当以上几点反映到你的脚本中,就会变成下面这样。
修改后的脚本:
在使用此脚本之前,please enable Sheets API at Advanced Google services。
function resizeAllrows() {
var ss = SpreadsheetApp.getActive();
var sheet = ss.getActiveSheet();
var resource = {
requests: [{
updateDimensionProperties: {
properties: { pixelSize: 21 },
range: { sheetId: sheet.getSheetId(), dimension: "ROWS" },
fields: "pixelSize"
}
}
]
};
Sheets.Spreadsheets.batchUpdate(resource, ss.getId());
}
注:
当您想对活动Google电子表格中的所有工作表使用上述脚本时,您还可以使用以下脚本。
function resizeAllrows() {
var ss = SpreadsheetApp.getActive();
var requests = ss.getSheets().map(sheet => {
return {
updateDimensionProperties: {
properties: { pixelSize: 21 },
range: { sheetId: sheet.getSheetId(), dimension: "ROWS" },
fields: "pixelSize"
}
}
});
Sheets.Spreadsheets.batchUpdate({ requests: requests }, ss.getId());
}
当你想对特定的工作表使用上面的脚本时,你也可以使用下面的脚本。
function resizeAllrows() {
var sheetNames = ["Sheet1", "Sheet2",,,]; // Please set the sheet names.
var ss = SpreadsheetApp.getActive();
var requests = ss.getSheets().reduce((ar, sheet) => {
if (sheetNames.includes(sheet.getSheetName())) {
ar.push({
updateDimensionProperties: {
properties: { pixelSize: 21 },
range: { sheetId: sheet.getSheetId(), dimension: "ROWS" },
fields: "pixelSize"
}
});
}
return ar;
}, []);
Sheets.Spreadsheets.batchUpdate({ requests: requests }, ss.getId());
}
参考文献:
- autoResizeRows(startRow, numRows)
- getRow()
- 相关话题。
- Setting row heights in google sheets
- Method: spreadsheets.batchUpdate
- UpdateDimensionPropertiesRequest
如何将所有 google 页的整行调整为 21
高度(我有大约 10 张),我一直在尝试使用以下代码,但它不起作用。
我有下面的代码,它根据字符串调整行的大小,但不会将其调整到高度 21。
function resizeAllrows () {
var sheet = SpreadsheetApp.getActiveSheet();
var dataRange = sheet.getDataRange();
var firstrow = dataRange.getRow();
var lastrow = dataRange.getLastrow();
sheet.autoResizeRows(firstrow, lastrow);
}
请看下面的图片,上面的代码不起作用。非常感谢您的帮助。
没有高级 google 服务的选项。
修改点:
- 在你的脚本中,我认为
getLastrow
的咒语需要修改为getLastRow
。 - 但是,从
but does not resize it to the Height 21.
开始,当字体较大 and/or 时,多个带有换行符的文本被放入一个单元格中,即使autoResizeRows
和setRowHeights
时,行高似乎取决于字体大小和所有文本高度。这似乎是当前的规范。所以,当你想针对这种情况强行把行高改为21
像素时,就需要使用SheetsAPI。- 可在 this thread. 处查看示例脚本
当以上几点反映到你的脚本中,就会变成下面这样。
修改后的脚本:
在使用此脚本之前,please enable Sheets API at Advanced Google services。
function resizeAllrows() {
var ss = SpreadsheetApp.getActive();
var sheet = ss.getActiveSheet();
var resource = {
requests: [{
updateDimensionProperties: {
properties: { pixelSize: 21 },
range: { sheetId: sheet.getSheetId(), dimension: "ROWS" },
fields: "pixelSize"
}
}
]
};
Sheets.Spreadsheets.batchUpdate(resource, ss.getId());
}
注:
当您想对活动Google电子表格中的所有工作表使用上述脚本时,您还可以使用以下脚本。
function resizeAllrows() { var ss = SpreadsheetApp.getActive(); var requests = ss.getSheets().map(sheet => { return { updateDimensionProperties: { properties: { pixelSize: 21 }, range: { sheetId: sheet.getSheetId(), dimension: "ROWS" }, fields: "pixelSize" } } }); Sheets.Spreadsheets.batchUpdate({ requests: requests }, ss.getId()); }
当你想对特定的工作表使用上面的脚本时,你也可以使用下面的脚本。
function resizeAllrows() { var sheetNames = ["Sheet1", "Sheet2",,,]; // Please set the sheet names. var ss = SpreadsheetApp.getActive(); var requests = ss.getSheets().reduce((ar, sheet) => { if (sheetNames.includes(sheet.getSheetName())) { ar.push({ updateDimensionProperties: { properties: { pixelSize: 21 }, range: { sheetId: sheet.getSheetId(), dimension: "ROWS" }, fields: "pixelSize" } }); } return ar; }, []); Sheets.Spreadsheets.batchUpdate({ requests: requests }, ss.getId()); }
参考文献:
- autoResizeRows(startRow, numRows)
- getRow()
- 相关话题。
- Setting row heights in google sheets
- Method: spreadsheets.batchUpdate
- UpdateDimensionPropertiesRequest