GASのSlidesAppでプレゼン資料を自動生成する方法

先生

GASのSlidesAppで、退屈なプレゼン資料作成から解放されよう!

GASのSlidesAppとは?プレゼン自動生成の魅力

GAS(Google Apps Script)のSlidesAppは、Googleスライドをプログラムで操作するためのサービスです。これを使うと、スライドの作成、編集、削除といった操作を自動化できます。特に、大量のスライドを生成したり、定期的に内容を更新したりする場合に非常に役立ちます。

プレゼン資料の自動生成は、時間と労力を大幅に削減できるだけでなく、ヒューマンエラーのリスクも軽減します。例えば、営業報告書、会議資料、教育コンテンツなど、さまざまな用途で活用できます。

この記事では、GASのSlidesAppを使ってプレゼン資料を自動生成する方法を、具体的なコード例を交えながら解説します。

SlidesAppの基本的な使い方

SlidesAppを使うには、まずGoogle Apps Scriptのエディタを開きます。GoogleスプレッドシートやGoogleドキュメントからスクリプトエディタを開くか、直接script.google.comにアクセスします。

次に、SlidesAppのサービスを有効にします。スクリプトエディタで、「リソース」>「Googleの拡張サービス」を選択し、「Slides API」をオンにします。

これで、SlidesAppを使ったスクリプトを書く準備が整いました。以下に、基本的なコード例を示します。

function createPresentation() {
  // 新しいプレゼンテーションを作成
  var presentation = SlidesApp.create('自動生成プレゼンテーション');
  
  // 最初のスライドを取得
  var slide = presentation.getSlides()[0];
  
  // スライドにテキストボックスを追加
  var textBox = slide.insertTextBox('これは自動生成されたスライドです!');
  textBox.setWidth(600);
  textBox.setHeight(100);
  textBox.alignCenter();

  //プレゼンテーションのURLをログに出力
  Logger.log(presentation.getUrl());
}

このコードは、新しいプレゼンテーションを作成し、最初のスライドにテキストボックスを追加するものです。SlidesApp.create()でプレゼンテーションを作成し、presentation.getSlides()でスライドを取得、slide.insertTextBox()でテキストボックスを追加します。

作成したプレゼンテーションは、Googleドライブに保存されます。Logger.log(presentation.getUrl());でログに出力されたURLから確認できます。

スライドの追加とテキストの挿入

プレゼンテーションにスライドを追加するには、presentation.appendSlide()を使います。スライドの種類(レイアウト)を指定することもできます。

function addSlide() {
  var presentation = SlidesApp.getActivePresentation();
  
  // タイトルと本文のレイアウトでスライドを追加
  var slide = presentation.appendSlide(SlidesApp.PredefinedLayout.TITLE_AND_BODY);
  
  // タイトルと本文のプレースホルダーを取得
  var titlePlaceholder = slide.getTitlePlaceholder();
  var bodyPlaceholder = slide.getBodyPlaceholder();
  
  // プレースホルダーにテキストを設定
  titlePlaceholder.setText('新しいスライドのタイトル');
  bodyPlaceholder.setText('新しいスライドの本文です。');
}

SlidesApp.PredefinedLayoutには、さまざまなレイアウトが定義されています。TITLE_AND_BODYSECTION_HEADERBLANKなど、用途に合わせて選択できます。

プレースホルダーにテキストを挿入するには、setText()を使います。プレースホルダーは、slide.getTitlePlaceholder()slide.getBodyPlaceholder()で取得できます。

データの連携と動的なコンテンツ生成

SlidesAppの真価は、外部データとの連携にあります。Googleスプレッドシートやデータベースからデータを取得し、スライドに動的に挿入することで、常に最新の情報に基づいたプレゼンテーションを作成できます。

function updateSlidesFromSpreadsheet() {
  // スプレッドシートのID
  var spreadsheetId = 'YOUR_SPREADSHEET_ID';
  
  // スプレッドシートを開く
  var spreadsheet = SpreadsheetApp.openById(spreadsheetId);
  
  // シートを取得
  var sheet = spreadsheet.getSheetByName('データ');
  
  // データの範囲を取得
  var dataRange = sheet.getDataRange();
  var data = dataRange.getValues();
  
  // プレゼンテーションを開く
  var presentation = SlidesApp.getActivePresentation();
  
  // 2行目からデータを読み込み、スライドを生成
  for (var i = 1; i < data.length; i++) {
    var row = data[i];
    
    // スライドを追加
    var slide = presentation.appendSlide(SlidesApp.PredefinedLayout.TITLE_AND_BODY);
    
    // タイトルと本文のプレースホルダーを取得
    var titlePlaceholder = slide.getTitlePlaceholder();
    var bodyPlaceholder = slide.getBodyPlaceholder();
    
    // データからタイトルと本文を設定
    titlePlaceholder.setText(row[0]); // 1列目のデータをタイトルに
    bodyPlaceholder.setText(row[1]); // 2列目のデータを本文に
  }
}

このコードは、指定したスプレッドシートからデータを読み込み、各行のデータを基にスライドを生成するものです。SpreadsheetApp.openById()でスプレッドシートを開き、sheet.getDataRange()でデータの範囲を取得します。そして、row[0]row[1]で各列のデータにアクセスし、スライドのタイトルや本文に設定します。

この例では、スプレッドシートの1列目をスライドのタイトル、2列目をスライドの本文としていますが、必要に応じて自由にカスタマイズできます。

参考リンク

まとめ

GASのSlidesAppを使うことで、プレゼン資料の自動生成が容易になります。基本的な使い方から、スライドの追加、テキストの挿入、そして外部データとの連携まで、さまざまな機能を活用することで、効率的なプレゼン資料作成を実現できます。

ぜひSlidesAppを使いこなして、業務効率化に役立ててください。