【发布时间】:2015-04-28 18:50:42
【问题描述】:
我想让谷歌表格上的列自动调整大小以适合我的文本,而无需在每次输入后手动调整它们的大小。我该怎么做?
【问题讨论】:
标签: google-apps-script google-sheets
我想让谷歌表格上的列自动调整大小以适合我的文本,而无需在每次输入后手动调整它们的大小。我该怎么做?
【问题讨论】:
标签: google-apps-script google-sheets
仅供参考 - 对于那些不想深入研究脚本,但想要更快地完成它的人,您可以手动自动调整所有列的大小:点击 Cmd+A(或 Ctrl+A 在Windows) 选择所有内容,然后将鼠标移动到任意两个列标题之间的边界 - 就像您想手动调整该列标题一样 - 光标变为箭头...并双击 .发现了这个技巧here。
【讨论】:
Cmd+A 不会选择整个工作表,只会选择存在内容的每个单元格。要选择整个工作表,您可以单击工作表左上角的灰色方块(A 列左侧和第 1 行顶部),或者选择内容之外的单元格,然后按 Cmd+A
Cmd+A 与连续点击两次是不同的。 (两次更像是“是的,我是认真的”,并将标题变为灰色,似乎真的选择了 everything。)通常,调整大小技巧适用于您所在的列(即,您当光标为向右箭头时,单击其标题的最右侧边框)。
听起来你想要autoResizeColumn。制作一个AppScript脚本,你可以放
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
sheet.autoResizeColumn(COLUMN_NUMBER);
这将根据其内容调整指定列的大小。
每次您想调整大小时运行该函数,或将其放入trigger 中,如 onOpen()。
但是,它似乎有一个可以更改的最大尺寸。
【讨论】:
要使列完全自动调整大小,您可以创建此函数,每次编辑单元格内容时都会触发该函数:
function onEdit(e) {
e.range.getSheet ().autoResizeColumn (e.range.getColumn ());
}
请注意,此触发器只会在响应输入时运行。粘贴和导入不会导致此触发器运行。
如果您想要一个可以调整活动工作表中所有列大小的函数,这个函数可以做到:
function resizeAllColumns () {
var sheet = SpreadsheetApp.getActiveSheet();
var dataRange = sheet.getDataRange();
var firstColumn = dataRange.getColumn();
var lastColumn = dataRange.getLastColumn();
sheet.autoResizeColumns(firstColumn, lastColumn);
}
为方便起见,如果您需要经常执行手动功能,可以为该功能附加键盘快捷键。
【讨论】:
仅供参考,我不知道自动方法。但是您可以通过以下方式立即完成:
headers 中选择所需的列
right-clickselected area 上的任何位置
Resize columns...... 部分Fit to Data
OK
你就完成了。
首先,选择所需的单元格,然后右键单击它(在工作表的左侧,写有数字的地方),从 GUI 中选择“调整单元格大小”选项,然后选择“适合数据”,然后点击确定按钮。
【讨论】: