Zoo*_*oop 5 google-sheets google-apps-script
我的问题非常简单:您如何获得错误消息!?
我只需要离开顶部的红色框,上面写着“Script CustomSort 遇到错误”,这几乎是最模糊的!
更深入地说,以下内容大约在一周前有效,现在不再有效。我至少一个月没碰剧本了。虽然已添加行。我将电子表格恢复到以前工作时的状态,但它仍然不起作用。
function onOpen()
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var menuEntries = [ {name: "Custom Sort", functionName: "CustomSort"}];
ss.addMenu("Sort", menuEntries);
CustomSort();
}
function CustomSort()
{
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange(2,1,sheet.getMaxRows()-1,sheet.getMaxColumns());
var headers = sheet.getRange(1, 1, 1, sheet.getMaxColumns()).getValues();
var sortOrder = new Array;
sortOrder.push({ column: headers[0].indexOf("Completion Date")+1, ascending: true });
sortOrder.push(headers[0].indexOf("Owner")+1);
sortOrder.push(headers[0].indexOf("Tentative Due Date")+1);
sortOrder.push({ column: headers[0].indexOf("Priority")+1, ascending: false });
sortOrder.push(headers[0].indexOf("Department")+1);
range.sort(sortOrder);
}
Run Code Online (Sandbox Code Playgroud)
我可以在脚本编辑器中运行脚本而没有错误,但我的理解是它运行带有空工作表的脚本(这是真的吗?),这可能表明工作表中存在问题。
如果有错误甚至是行号,我会很快弄清楚!我试图避免撕开相当大的电子表格或代码来解决这个问题。
我已经做了一堆谷歌搜索,并且有很多类似的问题是谷歌问题的参考,但我认为这个问题已经存在好几天了。
(我也没有记录日志的运气,这进一步限制了我的调试能力。总之,我觉得我在调试工具部门有障碍。我唯一的策略是将所有内容简化为最简单的测试用例,然后慢慢地一次添加一行代码或一行电子表格,直到它爆炸为止。当然必须有更好的方法;哦,伟大的互联网,请给我你的智慧!)
嗯,好的 'ol try-catch +电子邮件或记录器至少可以得到错误提示,然后在调试器中仔细观察数据进行调试(在可疑行处设置断点,检查数据状态,逐步调试):
function calculateSmthng()
{
try {
makeHardWorkForMe();
}
catch (e) {
MailApp.sendEmail("me@example.com", "Error report from ...", e.message); //either with e-mail
Logger.log("Bad thing happened, catched at calculateSmthng(): " +e.message); //or logger
}
}
Run Code Online (Sandbox Code Playgroud)
它通常对我有用。
归档时间: |
|
查看次数: |
2510 次 |
最近记录: |