【发布时间】:2020-08-08 16:04:36
【问题描述】:
使用 Google 应用程序脚本,我正在生成一个包含选定元素的网格。 在下面的这个例子中 - 我给了输入第 2 行和第 3 列来生成网格的顺序。 我的逻辑似乎是产生了错误的行和列。
问题:行数和列数错误。
function grid() {
var selection = SlidesApp.getActivePresentation().getSelection();
var pageElements = selection.getPageElementRange().getPageElements();
//init
var numRows = 2;
var horizontalSpace = 5;
var numColumns = 3;
var verticalSpace = 10;
/*get Left, Top, width, height of ist shape.*/
var shape0Left = pageElements[0].asShape().getLeft(),
shape0Top = pageElements[0].asShape().getTop(),
shape0Width = pageElements[0].asShape().getWidth(),
shape0Height = pageElements[0].asShape().getHeight();
/*Set the element properties*/
var elemLeft = shape0Left,
elemTop = shape0Top,
elemWidth = 0,
elemHeight = 0;
/*Iterate the page selected elements*/
pageElements.forEach(function(item, index) {
pageElements[index]
.asShape()
.setLeft(elemLeft)
.setTop(elemTop);
/*Something wrong with the logic*/
if ((index + 1) % numRows == 0) {
/*update the properties of each shape to place in row column order */
elemTop = shape0Top + pageElements[index].asShape().getHeight() + 10;
elemLeft = shape0Left;
} else {
elemLeft = shape0Left + pageElements[index].asShape().getWidth() + 10;
}
});
}
即将到来的结果 预期输出:
【问题讨论】:
-
啊!你说的对。我会照顾@TheMaster
标签: google-apps-script sidebar add-on google-slides