如何使用应用脚本更新现有图形的数据范围?[Google表格]

长gar92

我创建了下面的脚本,该脚本从onedit函数运行,用于编辑单元格J1。该图存在于标题为“每日数据”的工作表中。它将使用的数据来自标题为“长期数据”的工作表。

我使用以下链接作为指导:https : //developers.google.com/apps-script/reference/spreadsheet/embedded-chart

感谢您的任何帮助。

function onEdit(e) {

  //This IF statement ensures it will only run when cell J1 is edited:
  if (
    e.source.getSheetName() == "Daily Data" &&
    e.range.columnStart == 10 &&
    e.range.columnEnd == 10 &&
    e.range.rowStart >= 1 &&
    e.range.rowEnd <= 1 
  ) { 

    var spreadsheet = SpreadsheetApp.getActive();
    var daily_data = spreadsheet.getSheetByName("Daily Data");
    var LTD_data = spreadsheet.getSheetByName("Long Term Data");

       //ABOVE HAS BEEN TESTED AND RUNS SUCCESFULLY. THE BELOW DOES NOT...

    var chart = daily_data.getCharts()[0];
    var range = LTD_data.getRange("B2:J3")
    chart = chart.modify()
        .addRange(range)
        .build();
    spreadsheet.updateChart(chart);
  }
}
;
Tanaike
  • 您要更新Daily Data使用Google Apps脚本的工作表中的图表

如果我的理解是正确的,那么下面的修改如何?

修改点:

  • updateChart()是类表的方法。但是在您的脚本中,updateChart()用于Class Spreadsheet。这样,脚本将无法运行。

当上述要点反映到您的脚本时,它将变为以下内容。

模式1:

在此模式中,范围被添加到现有范围。

修改后的脚本:

从:
spreadsheet.updateChart(chart);
至:
daily_data.updateChart(chart);

模式2:

在这种模式下,现有范围将被删除,而新范围将被添加。

修改后的脚本:

从:
var chart = daily_data.getCharts()[0];
var range = LTD_data.getRange("B2:J3")
chart = chart.modify()
    .addRange(range)
    .build();
spreadsheet.updateChart(chart);
至:
var chart = daily_data.getCharts()[0];
var range = LTD_data.getRange("B2:J3")
var ranges = chart.getRanges();
chart = chart.modify();
ranges.forEach(function(range) {chart.removeRange(range)});
var modifiedChart = chart.addRange(range).build();
daily_data.updateChart(modifiedChart);

注意:

  • 在上述情况下,可以使用OnEdit事件触发器的简单触发器。

参考文献:

如果我误解了您的问题,而这不是您想要的结果,我深表歉意。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何通过应用脚本从Google表格获取特定范围的行数据

如何通过python正确更新Google表格图表数据范围?

使用 Google 表格中的应用脚本获取网站数据

如何在不使用python的情况下使用Google表格更新Google驱动器中的现有csv

Apps 脚本:使用来自 Google 表格的数据行填充模板。如何让它更有活力?

如何获取列范围内的特定数据列?Google Apps 脚本 - Google 表格

如何检查是否没有输入新数据,应用程序脚本在 Google 表格中将不执行任何操作

如何在Google表格应用脚本中创建超范围链接?

如何以相对方式复制数据验证,特别是从范围(带有或不带有脚本)的Google表格中列出数据

如何在Google表格图形中更改范围

如何使用 Google 应用程序脚本在 Google 表格中导入带有 xml 响应的 txt 文件?

复制输入数据并将其粘贴到电子表格中时,使用什么触发器来更新单元格?(Google表格/应用脚本)

Google表格/应用脚本中奇怪的返回范围结果

如何使用附加数据更新现有对象

如何从导入 CSV 更新现有数据?使用 Laravel

如何仅使用令牌更新现有数据?

应用现有列的公式时,如何快速向 Google 表格添加新行?

将用于动态数据验证的 Google Apps 脚本应用于现有工作表

如何使用抓取的硒数据更新 Google 表格

使用预测数据继续现有表格直到月底并每天更新

用于在Google表格中添加数据范围的脚本

Google BQ-如何在表格中添加现有数据?

使用Google Apps脚本将Google表格中的行附加到Big Query中的现有表

更新现有应用

更新应用程序时,如何让所有现有用户退出 Google?

如何将网站图形数据导入Google表格

使用应用脚本将嵌套的Json数据解析为Google表格

如何从应用程序脚本使用 Google 表格查询或 Google 可视化 api?

如何在Google表格脚本中解析范围