Google apps script 如何使用应用程序脚本将Google Sheets内容粘贴到Google幻灯片中?
我现在搜索了三天,找不到一种方法可以将谷歌表单范围放入幻灯片中Google apps script 如何使用应用程序脚本将Google Sheets内容粘贴到Google幻灯片中?,google-apps-script,google-sheets,google-slides-api,google-slides,Google Apps Script,Google Sheets,Google Slides Api,Google Slides,我现在搜索了三天,找不到一种方法可以将谷歌表单范围放入幻灯片中 var range = SpreadsheetApp.getActive().getActiveSheet().getRange('A1:B3'); var slidesPage = SlidesApp.openById(presentationId).getSlides()[0]; slidesPage.insertTable(range); 似乎只有从另一张幻灯片复制一张表并将其粘贴到页面中才有可能。为什么不能将电子表格中
var range = SpreadsheetApp.getActive().getActiveSheet().getRange('A1:B3');
var slidesPage = SlidesApp.openById(presentationId).getSlides()[0];
slidesPage.insertTable(range);
似乎只有从另一张幻灯片复制一张表并将其粘贴到页面中才有可能。为什么不能将电子表格中的一个范围粘贴到幻灯片中?。至少可以手动操作
感谢您的帮助。不幸的是,电子表格的范围还不能直接放在幻灯片上(至少现在是这样)。那么这个变通方法呢?此示例脚本的流程如下所示
var values = SpreadsheetApp.getActive().getActiveSheet().getRange('A1:B3').getValues();
var slidesPage = SlidesApp.openById(presentationId).getSlides()[0];
var table = slidesPage.insertTable(rows, columns);
var rows = values.length;
var columns = values[0].length;
for (var r = 0; r < rows; r++) {
for (var c = 0; c < columns; c++) {
table.getCell(r, c).getText().setText(values[r][c]);
}
}
var range = SpreadsheetApp.getActive().getActiveSheet().getRange('A1:B3');
var values = range.getDisplayValues();
var horizontalAlignments = range.getHorizontalAlignments()
var backgrounds = range.getBackgrounds();
var fontWeights = range.getFontWeights();
var slidesPage = SlidesApp.openById(presentationId).getSlides()[0];
var rows = values.length;
var columns = values[0].length;
var table = slidesPage.insertTable(rows, columns);
for (var r = 0; r < rows; r++) {
for (var c = 0; c < columns; c++) {
var cell = table.getCell(r, c);
cell.getText().setText(values[r][c]);
cell.getFill().setSolidFill(backgrounds[r][c]);
cell.getText().getTextStyle().setBold(fontWeights[r][c] == "bold" ? true : false);
var alignment;
switch(horizontalAlignments[r][c]) {
case "general-left":
alignment = SlidesApp.ParagraphAlignment.START;
break;
case "general-right":
alignment = SlidesApp.ParagraphAlignment.END;
break;
case "center":
alignment = SlidesApp.ParagraphAlignment.CENTER;
break;
}
cell.getText().getParagraphStyle().setParagraphAlignment(alignment);
}
}