以前、Google スライドですべてのスライドに対して処理を行う方法について記事を書きました。
今回は、すべてのスライドに対してではなく“選択中のスライド”に対してのみ処理を行うスクリプトを紹介します。
function myFunction() {
var selection = SlidesApp.getActivePresentation().getSelection();
if (selection.getSelectionType() == SlidesApp.SelectionType.PAGE) {
var pages = selection.getPageRange().getPages();
pages.forEach(function(page) {
var slide = page.asSlide();
//各スライドに対する何らかの処理
slide.insertShape(SlidesApp.ShapeType.STARBURST, 40, 40, 100, 100);
});
SlidesApp.getUi().alert("処理が終了しました。");
}
}
上記コードを実行すると、選択したスライドにのみシェイプが挿入されます。
処理内容
- Presentation.getSelectionメソッドで選択中のオブジェクトを取得します。
- Selection.getSelectionTypeメソッドでオブジェクトの種類を判別し、SelectionType.PAGEの場合のみ処理を行います。
- Selection.getPageRangeメソッドによってPageRangeオブジェクトを取得し、PageRange.getPagesメソッドによってPageオブジェクトを配列として取得します。
- 配列をループさせて、Pageオブジェクトに対して順次処理を行います。
- Page.asSlideメソッドによってSlideオブジェクトを取得し、任意の処理を行います。

![[Google Apps Script]すべてのスライド上のすべてのシェイプに対して処理を行う](https://www.ka-net.org/blog/wp-content/uploads/eyecatch-Google-120x120.png)
















この記事へのコメントはありません。