Googleスライドを自動更新!GASで簡単に実現するステップガイド

Googleスライドの更新を自動化したいんだけど、GASがうまく使えなくて…
猫男
猫男
catman
catman
よし、catmanがGASでGoogleスライドを自動更新する方法を教えてやる。手順をしっかりマスターしよう!

GASを使ってGoogleスライドを自動更新する基本

Google Apps Script(GAS)は、Googleのさまざまなサービスをカスタマイズする強力なツールだ。Googleスライドもその一つだ。GASでは、スクリプトエディタを使ってGoogleスライドを自動更新できる。

スクリプトエディタを開く

まずは、Googleスライドを開き、メニューの “拡張機能” から “スクリプトエディタ” を選ぶ。この画面でスクリプトを書いていく。

Hello World! スクリプトを書く

最初に試してほしいのは、スライドにメッセージを挿入するシンプルなスクリプトだ。


function helloWorld() {
 const slideDeck = SlidesApp.getActivePresentation();
 const slide = slideDeck.getSlides()[0];
 slide.insertTextBox('Hello, World!', 0, 0);
}

このスクリプトを実行すると、スライドの一枚目に「Hello, World!」と表示されるようになる。「SlidesApp.getActivePresentation()」で現在開いているプレゼンテーションを取得し、操作を行うことができる。

Googleスライドを自動更新する具体例

スライドをより実用的に更新するために、例えば、特定のセルの内容をスライドに反映させる方法を試してみよう。

スプレッドシートからデータを取得する

スプレッドシートからデータを引っ張ってきて、スライドに反映する方法を紹介する。


function updateSlideWithSheetData() {
 const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
 const data = sheet.getRange('A1').getValue();
 
 const slideDeck = SlidesApp.getActivePresentation();
 const slide = slideDeck.getSlides()[0];
 slide.insertTextBox(data, 200, 200);
}

このスクリプトでは、スプレッドシートのA1セルのデータを取得し、その内容をスライドの一枚目に追加する。重要なポイントは「SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()」でシートを選び、「getRange(‘A1’).getValue()」でセルの値を取得する部分だ。

トリガーで自動化を完了する

スクリプトを定期的に実行するには、トリガーを設定する必要がある。これにより、手を離しても更新が行われるようにするのだ。

トリガーを設定する方法

トリガーの設定は、スクリプトエディタの時計アイコンから行う。新しいトリガーを作成し、実行する関数と頻度を選択すれば完了だ。これで、Googleスライドを自動更新するシステムが整った。

これで毎朝自動で更新されるなんて夢のようだ!でも、トリガーの設定がうまくできるか不安なんだ…
猫男
猫男
catman
catman
心配しなくて大丈夫さ。手順を踏めば誰でもできる。GASとトリガーでスライドを賢く使いこなそう!

練習問題

スプレッドシートのB1セルのデータを第二スライドの中央に挿入するスクリプトを書け。

解答・解説


function insertDataToSecondSlide() {
 const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
 const data = sheet.getRange('B1').getValue();
 
 const slideDeck = SlidesApp.getActivePresentation();
 const slide = slideDeck.getSlides()[1];
 slide.insertTextBox(data, 300, 300);
}

このスクリプトでは、「getSlides()[1]」を使ってスライドの二枚目を選び、「sheet.getRange(‘B1’).getValue()」でB1のデータを取得している。「insertTextBox(data, 300, 300)」は、テキストボックスの挿入位置を指定するためだ。これでB1のデータが自動で二枚目のスライドに挿入される。