我在一张空幻灯片中插入一个表格。然后我用不同的文本填充它。在此之后,我想获得桌子的高度。.getHeight 的结果为空。.getHeight 方法适用于形状和图像,但不适用于表格。我怎样才能得到桌子的高度?
function getTableHeight(){
var presentation = SlidesApp.openById('myPresentationId');
var slides = presentation.getSlides();
var slideId = 'mySlideId';
var slide = slides.filter(function(e){return e.getObjectId() == slideId})[0];
slide.insertTable(5, 5);
var tableHeight = slide.getTables()[0].getHeight();
Logger.log(tableHeight);
}
这是完整的脚本。它工作正常,但是当幻灯片上没有足够的空间时,我需要一个函数来拆分导入的表格。
function getTableFromSpreadsheetoToSlides(){
var presentation = SlidesApp.openById('myPresentationId');
var slideId = "mySlideId";
var slides = presentation.getSlides();
var slide = slides.filter(function(e){return e.getObjectId() == slideId})[0];
var spreadsheet = SpreadsheetApp.openById('mySpreadsheetId');
var sheet = spreadsheet.getSheetByName('ActionItems');
var numRows = sheet.getDataRange().getNumRows();
var numColumns = sheet.getDataRange().getNumColumns();
var values = sheet.getSheetValues(1, 1, numRows, numColumns).valueOf();
var table = slide.getTables()[0];
var numRowsToDelete = table.getNumRows() - 1;
// remove old tableRows except the table head
for (i = numRowsToDelete; i > 0; i--) {
table.getRow(i).remove();
}
// new imported table rows append to the existing table head
for ( var i = 1; i < numRows; i++ ) {
table.appendRow();
for ( var j = 0; j < numColumns; j++ ) {
var text = table.getCell(i, j).getText().setText(values[i][j]);
}
// HERE I need a query how long the table in slide is. If it is longer/higher than the slide is, it should be split and the next row should go to a new slide
}
}