是否可以使用宏将 google 工作表中的图表导入到新文件中?
Is there a possibility to import a diagram from google sheets into a new file with a macro?
我想使用宏将图形评估(图表)导入到新文件中。因此不应将评估插入关联文件中的新 sheet,而应创建一个全新的文件,然后在其中复制图形评估(以组合图的形式)。该文件应该是 Google 表格或 Excel 文件。组合图已经存在并位于 Google sheet 中,但它应该借助宏和相应的按钮自动复制到新文件中。
我已经尝试启动一个宏并打开一个新文件并复制图表,但它只显示了这段非常无用的代码:
function AuswertungTest() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('B25').activate();
};
如果你能帮我解决这个问题,那就太好了! :)
根据您想在新创建的电子表格中插入 diagram/chart 的方式,我有两种使用 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().addRange(newSheet.getRange("A1:B8")).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
我想使用宏将图形评估(图表)导入到新文件中。因此不应将评估插入关联文件中的新 sheet,而应创建一个全新的文件,然后在其中复制图形评估(以组合图的形式)。该文件应该是 Google 表格或 Excel 文件。组合图已经存在并位于 Google sheet 中,但它应该借助宏和相应的按钮自动复制到新文件中。
我已经尝试启动一个宏并打开一个新文件并复制图表,但它只显示了这段非常无用的代码:
function AuswertungTest() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('B25').activate();
};
如果你能帮我解决这个问题,那就太好了! :)
根据您想在新创建的电子表格中插入 diagram/chart 的方式,我有两种使用 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().addRange(newSheet.getRange("A1:B8")).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