GASで効率アップ!スライドをコピーする簡単手順と応用テクニック
GASって便利って聞いたけど、具体的に何ができるのかな?とくにスライドのコピーが面倒で…

猫男

catman
よし、catmanが「GASでスライドをコピーする方法」について教えてやろう!さっそく一緒にやってみようか。
GASでスライドをコピーする基本
GASを使えば、スライドを簡単にコピーできる。まずは基本の手順を学ぼう。
SlideAppを利用して、特定のスライドプレゼンテーションを操作することが可能だ。
これが基本的なサンプルコードだ。
function copySlides() {
const originalPresentationId = 'オリジナルのプレゼンテーションID';
const copyId = DriveApp.getFileById(originalPresentationId).makeCopy().getId();
Logger.log('新しいスライドのID: ' + copyId);
}
このスクリプトでは、DriveAppのmakeCopyメソッドを使用してスライドをコピーする。コピーされたスライドの新しいIDがログに出力されるようになっている。
スライドのIDを見つける方法
スライドのIDは、GoogleスライドのURLの一部になっている。URLの「/d/」と「/edit」の間にある文字列がIDだ。
ただスライドをコピーするだけじゃなくて、いろんな操作もしてみたいな…

猫男
GASでスライドの内容を変更する技術
GASはスライドの内容を操作することもできるんだ。次に紹介するのは、タイトルを変更する方法だ。
function changeSlideTitle() {
const presentationId = 'プレゼンテーションID';
const presentation = SlidesApp.openById(presentationId);
const slides = presentation.getSlides();
slides[0].getShapes()[0].getText().setText('新しいタイトル');
}
このスクリプトは、プレゼンテーションの最初のスライドの最初の形状を取得して、そのテキストを新しいものに変更する。
GASでスライドを効率的に管理する応用テクニック
ガイドスライドを増やせば、スライド形式の資料作成も効率化できるぞ。
テンプレートスライドの作成
例えば、あるスライドをテンプレートとして別のプレゼンテーションに挿入することもできる。
function addTemplateSlide() {
const sourceSlideId = 'テンプレートのスライドID';
const targetPresentationId = '挿入先のプレゼンテーションID';
const targetPresentation = SlidesApp.openById(targetPresentationId);
const templateSlide = SlidesApp.openById(sourceSlideId).getSlides()[0];
targetPresentation.appendSlide(templateSlide);
}
このスクリプトでは、指定されたテンプレートスライドを、別のプレゼンテーションの最後に追加する。
なるほど、これならテンプレートを再利用して効率的に仕事が進められそう!

猫男
練習問題
自分で以下のスクリプトを作成して実行してみよう。次の指定に従ってスライドを操作してみて。
- プレゼンテーションをコピーし、コピーされたスライドの2枚目の形状のテキストを「Updated Text」に変更するスクリプトを書いてみる。
- コピーされたプレゼンテーションの最後に、新しい空のスライドを追加する。
解答・解説
function copyAndEditSlides() {
const originalPresentationId = 'オリジナルのプレゼンテーションID';
const copyId = DriveApp.getFileById(originalPresentationId).makeCopy().getId();
Logger.log('コピーされたスライドのID: ' + copyId);
const presentation = SlidesApp.openById(copyId);
presentation.getSlides()[1].getShapes()[0].getText().setText('Updated Text');
presentation.appendSlide(SlidesApp.EmbedType.BLANK);
}
最初にDriveApp.makeCopyメソッドでプレゼンテーションをコピー。
その後、SlidesApp.openByIdでコピーされたスライドを開き、2枚目のスライド内の最初の形状のテキストを変更した。
最後に、SlidesApp.EmbedType.BLANKを用いて空のスライドを追加する。
ありがとう、catman!これでスライド作成がもっと効率的に進むよ!

猫男

catman
いつでも頼ってくれ。GASを使いこなして、効率化を目指そう!