我在第 9 列的活动单元格的行中得到了一个代码构建图表。现在,在脚本删除该图表的源表之前,我想在该特定范围(行,列)内设置图表并将其删除.
var charts1 = newSheet.getCharts();
chart = charts1[charts1.length - 1];
chart = newSheet.newChart()
.asLineChart()
.addRange(newSheet.getRange(ticker + '!M71:P175'))
.setMergeStrategy(Charts.ChartMergeStrategy.MERGE_COLUMNS)
.setTransposeRowsAndColumns(false)
.setNumHeaders(1)
.setHiddenDimensionStrategy(Charts.ChartHiddenDimensionStrategy.IGNORE_BOTH)
.setOption('bubble.stroke', '#000000')
.setOption('useFirstColumnAsDomain', false)
// ...other .setOption()'s...
.setOption('width', 305)
.setPosition(activeCell, 9, 1, 1) //This is where the chart is set to be built
.build();
listOfStocks.insertChart(chart);
我试过获得该范围,但getCharts()
随后将其删除,但没有任何此类选项可供选择。
如何做到这一点?
我相信你的目标如下。
为了删除图表,您可以使用removeChart
Class Sheet 中的方法。并且,可以通过 的方法检索图表的坐标getContainerInfo
。当使用这些方法准备示例脚本时,它变成如下。
在使用此脚本之前,请设置searchRow
、searchColumn
和的变量sheetName
。
function myFunction() {
const searchRow = 1;
const searchColumn = 9;
const sheetName = "Sheet1";
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
sheet.getCharts().forEach(c => {
const container = c.getContainerInfo();
if (container.getAnchorRow() == searchRow && container.getAnchorColumn() == searchColumn) {
sheet.removeChart(c);
}
});
}
如果要删除“I”列中的所有图表,也可以使用以下脚本。
const searchColumn = 9;
const sheetName = "Sheet1";
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
sheet.getCharts().forEach(c => {
const container = c.getContainerInfo();
if (container.getAnchorColumn() == searchColumn) {
sheet.removeChart(c);
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句