gpt4 book ai didi

google-apps-script - 如何使用应用程序脚本更新现有图表的数据范围? [谷歌表格]

转载 作者:行者123 更新时间:2023-12-03 20:10:36 27 4
gpt4 key购买 nike

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

我使用以下链接作为指导: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);
}
}
;

最佳答案

  • 您要更新 Daily Data 的工作表中的图表使用 Google Apps 脚本。

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

    修改点:
  • updateChart()是 Class Sheet 的方法。但是在您的脚本中,updateChart()用于类电子表格。这样,脚本就不起作用了。

  • 当上述点反射(reflect)到您的脚本时,它变成如下。

    模式一:

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

    修改后的脚本:

    从:
    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 事件触发器的简单触发器。

  • 引用:
  • updateChart(chart)
  • removeRange(range)

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

    关于google-apps-script - 如何使用应用程序脚本更新现有图表的数据范围? [谷歌表格],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60226171/

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