我已经在电子表格中自动生成了一个图表,并且每次完成更新时都会以编程方式删除它,并将新图表放在其位置。问题是,如果首先删除它引用的数据,我会收到错误:"范围的坐标或尺寸无效。"
此错误指向删除图表功能的第一行:
var charts = convertSheet.getCharts();
for (var i in charts) {
convertSheet.removeChart(charts[i]);
}
显然,如果图表有错误,Google Apps脚本甚至无法访问它,即使它只是删除它。到目前为止,我还没有找到解决这个问题的可行方案。我甚至尝试在图表指向的范围内插入新数据,然后尝试删除它,因此它具有良好的数据,但没有骰子。不幸的是,它会停止整个脚本,我该如何处理呢?
答案 0 :(得分:4)
我仍然希望有人有更好的答案,但就目前而言,我有一个有点工作的系统:
try {
var charts = convertSheet.getCharts();
for (var i in charts) {
convertSheet.removeChart(charts[i]);
}
}
catch(err) {
//Ignore dat error, bro!
}
基本上,它不是仅因为无法删除图形而停止整个脚本,而是将断开的图形留在那里并继续使用脚本。这不是理想的,但错误是一个非常罕见的用例,所以一个cludgy修复是可以接受的。
这个解决方案的问题在于它在页面上留下了一个很难看的破坏图形,并且所有未来清除所有图形的尝试都会失败,因为破坏的图形仍然存在,直到有人手动删除图形。