【GAS入門】スライドを自動作成する方法
GASを使ってスライドを自動作成か…どうやるんだろう…

猫男

catman
心配するな、catmanに任せな!
GASでスライドを自動作成する方法
GAS(Google Apps Script)を使うと、Googleスライドの自動作成がびっくりするぐらい簡単になるぞ。
スライド自動作成のスクリプト
まずはスライドを作成するための基本的なスクリプトを紹介しよう。
以下がスライドを新規に作成し、スライドにタイトルを付けるコードだ。
function createSlide() {
var presentation = SlidesApp.create('新しいプレゼンテーション');
var slide = presentation.getSlides()[0];
slide.insertTextBox("こんにちは!これは自動作成されたスライドです", 50, 50, 500, 50);
}
このスクリプトは以下のような内容だ。
- SlidesApp.create() メソッドで新しいスライドを作成する。
- presentation.getSlides()[0] で最初のスライドを取得する。
- slide.insertTextBox() でスライドにテキストボックスを挿入する。insertTextBoxの第2引数以下の数字は次の表のような意味がある。
引数 | 意味 | 例 |
---|---|---|
x |
左端からの距離(横方向の位置) | 50 → 左から50pt |
y |
上端からの距離(縦方向の位置) | 50 → 上から50pt |
width |
テキストボックスの幅 | 500 → 横幅500pt |
height |
テキストボックスの高さ | 50 → 高さ50pt |
新しくスライドを作成する処理なので、どのファイルにも紐づいていない「スタンドアロン型」で実行してみよう
スクリプトを実行すると、「新しいプレゼンテーション」というファイル名で以下のようなGoogleスライドが誕生するはずだ。
GASでスライドに画像を追加
と、以上のコードでスライドの自動作成は終了だ。
がしかし、見映え、よくしたいよな? 画像をスライドに追加してみよう。
以下のコードなら、スライドに画像を追加できるぞ。
function addImageToSlide() {
var presentation = SlidesApp.getActivePresentation();
var slide = presentation.appendSlide(SlidesApp.PredefinedLayout.BLANK);
var imageUrl = 'https://upload.wikimedia.org/wikipedia/commons/3/3a/Cat03.jpg';
slide.insertImage(imageUrl);
}
このスクリプトは次の内容だ。
- SlidesApp.getActivePresentation() で現在のプレゼンテーションを取得する。
- presentation.appendSlide() で新しいスライドを追加する。
- slide.insertImage() を使ってスライドに画像を挿入する。
既存のスライドに画像を追加するので、Googleスライドファイルに紐づいた「コンテナバインド型」で実行してみよう
これを実行すると、次のように新しい画像入りのスライドを追加できるはずだ。
おぉ、これなら簡単にスライドを作れちゃうんだね!でも、もっと複雑なこともできるの?

猫男

catman
もちろんだ。スプレッドシートのデータを取り込んで自動的にスライドを生成したり、他のGoogleサービスと連携できたりするんだ。詳しくは「GASとGoogleスライドでできることまとめ」をチェックしよう。
まとめ:GASでスライドを自在に自動作成しよう
- SlidesApp.create() を使って新しいプレゼンテーションを作成。
- getSlides() でスライドを取得し、insertTextBox() や insertImage() を用いてコンテンツを追加。
- APIを利用して、より効率的にスライドをカスタマイズ。
スーパープレゼンテーショナーになれそうだ!感謝するよ、catman!

猫男

catman
ふっ、次のスティーブ・ジョブズはお前かもしれないな
練習問題
GASを使って、指定されたタイトルと2行のテキストを含むスライドを自動作成するスクリプトを書いてみよう。
解答と解説
function createCustomSlide() {
var presentation = SlidesApp.create('カスタムなプレゼンテーション');
var slide = presentation.appendSlide(SlidesApp.PredefinedLayout.TITLE_AND_TWO_COLUMNS);
slide.getPlaceholder(SlidesApp.PlaceholderType.TITLE).asShape().setText('これがスライドのタイトル');
var shapes = slide.getPlaceholder(SlidesApp.PlaceholderType.BODY).asShape();
shapes.getText().setText('これは左のテキスト\nこれは右のテキスト');
}
- SlidesApp.create() で新しいプレゼンテーションを作成する。
- appendSlide(SlidesApp.PredefinedLayout.TITLE_AND_TWO_COLUMNS) でタイトルと2カラムのプレースホルダを持つスライドを追加する。
- getPlaceholder() と asShape() を使ってプレースホルダーを取得し、setText() でテキストを設定する。