我刚开始尝试编写一些脚本,所以我觉得我很容易开始。不幸的是,工作表已超时,我收到了此错误消息:
"噢,Snap!":Chrome在加载您尝试查看的网页时遇到问题。
我想将所有单元格对齐到左侧,将所有字体更改为Verdana并将所有字体大小设置为10.
这是一个仅供查看的测试表,只是随机数据来模拟真实工作表中的数据量。
https://docs.google.com/spreadsheets/d/12ph1uF8asyKODjoB6td752-TPndc9MndyVJUmz9HKeQ/edit?usp=sharing
以下是我正在使用/改编/编写的代码,抱歉,如果格式/布局错误:
function onEdit() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheets = ss.getSheets()[0];
var cell = ss.getRange('A1:BZ5000');
cell.setFontSize('10');
cell.setFontFamily('Verdana');
cell.setHorizontalAlignment('left');
}
我非常确定导致问题的单元格的范围/数量,但我需要脚本来影响所有工作表上的每个单元格。
有没有人有更好的方法来做到这一点?
由于
答案 0 :(得分:0)
我建议删除范围中的数字,因为即使没有必要,也会强制电子表格创建此范围。 (例如,您的示例数据只有1000行,但是您的脚本强制创建4000个额外的行乘以巨大的列数量:D)
只需替换
var cell = ss.getRange('A1:BZ5000');
带
var cell = ss.getRange('A:BZ');
应该够了
所以你的代码是:
function onEdit() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheets = ss.getSheets()[0];
var cell = ss.getRange('A:BZ');
cell.setFontSize('10');
cell.setFontFamily('Verdana');
cell.setHorizontalAlignment('left');
}
希望这有帮助!
<强> PS:强> 只是另一个注意事项,根据我的个人经验..我不会在编辑上创建如此大的事件..我建议创建onEdit只是一个活跃的Cell更换器,所以每当有人将内容写入单元格时,它将根据您自动更改需要:))
例如
function onEdit() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var editCell = ss.getActiveCell();
editCell.setFontSize('10');
editCell.setFontFamily('Verdana');
editCell.setHorizontalAlignment('left');
}