我想使用宏将图形评估(图表)导入到新文件中。因此,不应将评估插入关联文件中的新工作表上,而应创建一个全新的文件,然后在其中复制图形评估(以组合图的形式)。该文件应为Google表格或Excel文件。组合图已经存在并且位于Google工作表中,但是应该借助宏和相应的按钮将其自动复制到新文件中。
我已经尝试启动一个宏并打开一个新文件并复制该图,但是它只显示了这段代码,这是完全没有用的:
function AuswertungTest() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('B25').activate();
};
非常感谢您帮助我解决这个问题! :)
取决于您要如何在新创建的电子表格中插入图表/图表,我有两种使用Sheet [1]和EmbeddedChart [2]方法的解决方案:
1)如果要在插入图表之前将图表转换为图像:
function AuswertungTest() {
//Sheet with diagram
var sheet = SpreadsheetApp.getActiveSheet();
//Create new Spreadsheet in Drive and get its first Sheet
var newSpreadsheet = SpreadsheetApp.create("new spreadsheet");
var newSheet = newSpreadsheet.getSheets()[0];
//Get the first chart and convert it to an image blob
var chart = sheet.getCharts()[0];
chart = chart.getAs('image/jpeg');
//Insert image in new spreadsheet
newSheet.insertImage(chart, 2, 2)
};
2)如果要原样插入图表(图表将取决于新电子表格中的数据):
function AuswertungTest() {
//Sheet with diagram
var sheet = SpreadsheetApp.getActiveSheet();
//Create new Spreadsheet in Drive and get its first Sheet
var newSpreadsheet = SpreadsheetApp.create("new spreadsheet");
var newSheet = newSpreadsheet.getSheets()[0];
//Get the first chart and modify it to set the wanted position
var chart = sheet.getCharts()[0];
chart = chart.modify().setPosition(2, 2, 0, 0).build();
//Insert chart in new spreadsheet
newSheet.insertChart(chart);
};
[1] https://developers.google.com/apps-script/reference/spreadsheet/sheet
[2] https://developers.google.com/apps-script/reference/spreadsheet/embedded-chart