
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_BODY
、SECTION_HEADER
、BLANK
など、用途に合わせて選択できます。
プレースホルダーにテキストを挿入するには、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を使いこなして、業務効率化に役立ててください。