创建应用程序脚本函数,为任何Google工作表生成图表对象

时间:2017-06-26 15:55:37

标签: charts google-apps-script google-sheets

我正在尝试在app脚本中创建一个函数,每当我将数据标签和数据点传入函数时,都会生成图表:

makePiChart(LabelRange,DataRange)

labelRange:1月,2月,3月.... DataRange:5,4,3,.......

但是,当我尝试单击一个单元格并使用范围参数键入函数时,我收到错误。

我首先尝试测试是否可以获得单张图表的图表输出。

这是我的代码。

function makePiChart() {

      var ss = SpreadsheetApp.openById("#Id for Spreadsheet")
      SpreadsheetApp.setActiveSpreadsheet(ss)


      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var sheet1 = ss.getSheetByName("January"); 
      sheet1.activate()


      var chart = sheet1.newChart()
      .setChartType(Charts.ChartType.PIE)
      .addRange(sheet1.getRange("C4:C11"))
      .addRange(sheet1.getRange("H4:H11"))
      .setPosition(5,5,0,0)
      .setOption("Issues","Dynamic Chart")
      .build();


      return sheet1.insertChart(chart);


    }

现在,这会像我预期的那样为1月工作表生成图表。

但是,我想创建一个概括此过程的函数。因此,如果我在电子表格中找到一些表单,说我整年都有一个电子表格,我会转到1月表,2月表,3月表等,如果我点击单元格并输入

makePiChart(Rangeforlabels,RangeforData) 

我将获得仅使用这些数据范围制作的饼图对象。

基本上,我不想继续修改脚本来生成图表对象。我希望能够在任何单元格中键入= makePie(labelRange,DataRange)并显示图表对象。它的位置无关紧要。

0 个答案:

没有答案