gpt4 book ai didi

javascript - Gsheet 由于脚本而超时

转载 作者:行者123 更新时间:2023-11-28 04:26:09 27 4
gpt4 key购买 nike

我刚刚开始尝试编写一些脚本,所以我想我会从简单的开始。不幸的是,该工作表已超时,我收到此错误消息:

“噢,啪!”: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');
}

我相当确定是单元格的范围/数量导致了问题,但我需要脚本来影响所有工作表上的每个单元格。

有没有人有更好的方法来做到这一点?

谢谢

最佳答案

我建议从范围中删除数字,因为即使没有必要,也会强制电子表格创建此范围。(例如,您的示例数据只有 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');
}

希望这有帮助!

附注:另一个注意事项,根据我的个人经验..我不会在 onEdit 上创建如此巨大的事件..我建议创建 onEdit 只是一个事件的单元格更改器,因此每当有人将内容写入单元格时,它都会根据您的自动更改需要:)

例如

function onEdit()   {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var editCell = ss.getActiveCell();
editCell.setFontSize('10');
editCell.setFontFamily('Verdana');
editCell.setHorizontalAlignment('left');
}

关于javascript - Gsheet 由于脚本而超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45043110/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com