k.b*_*k.b 5 google-sheets google-apps-script
我即将在 Google Sheet 中设计一个结构。如何使用应用程序脚本动态调整行宽和列宽?
注意:要调整列或行的宽度,我的意思是给宽度一些像素或英寸大小。我的意思不是自动调整大小以适应单元格中的内容。
Tan*_*ike 11
我相信你的目标如下。
在这种情况下,使用 OnEdit 的简单触发器来运行脚本怎么样?这样,当您将值放入单元格时,脚本就会自动运行。autoResizeRows
并且可以使用和来实现行和列的自动调整大小autoResizeColumns
。示例脚本如下。
请将以下脚本复制并粘贴到 Google Spreadsheet 的脚本编辑器中并保存项目。当您使用此脚本时,请在单元格中输入一个值。这样,脚本就会由触发器运行,并自动设置行高和列宽。
function onEdit(e) {
const range = e.range;
const sheet = range.getSheet();
sheet
.autoResizeRows(range.rowStart, range.rowEnd - range.rowStart + 1)
.autoResizeColumns(range.columnStart, range.columnEnd - range.columnStart + 1);
}
Run Code Online (Sandbox Code Playgroud)
该脚本由使用事件对象的 OnEdit 简单触发器运行。所以当你直接用脚本编辑器运行脚本时,就会出现错误。请小心这一点。
这是一个简单的示例脚本。所以请根据您的实际情况进行修改。例如,当您要在“Sheet1”和“Sheet2”的特定工作表上运行脚本时,请将 的脚本放在if (!["Sheet1","Sheet2"].includes(sheet.getSheetName())) return;
行之后const sheet = range.getSheet();
。
从您的以下回复来看,
我的意思不是自动调整大小,当我们调整列大小时,我们实际上可以手动输入像素作为宽度。我想使用应用程序脚本参数来调整大小以设置列宽像素值。
我为此又添加了一个示例脚本。
请将以下脚本复制并粘贴到 Google Spreadsheet 的脚本编辑器中并保存项目。当您使用此脚本时,请在单元格中输入一个值。这样,脚本将由触发器运行,并且列宽将更改为columnWidth
。
function onEdit(e) {
const columnWidth = 300; // Please set the column width you want to set.
const range = e.range;
const sheet = range.getSheet();
// if (!["Sheet1","Sheet2"].includes(sheet.getSheetName())) return; // If you want to run the script for the specific sheet, please use this line.
sheet.setColumnWidths(range.columnStart, range.columnEnd - range.columnStart + 1, columnWidth);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12740 次 |
最近记录: |