GAS

【GAS】スプレッドシートからスライドを更新する方法

皆さんは、普段の仕事でGoogleスプレッドシート・スライドを使いますか?

まさかめ
まさかめ
僕は業務で使わない日は無いです

どのデバイスから開いても同じ内容が確認できたり、
簡単に人と共有できたりとなにかと便利なツールですが、こう思ったことはありませんか?

男性の口コミ
男性の口コミ
スライドの中身を自動で更新したい!

 

そこで本記事では、GASを用いてスプレッドシートからスライドを更新する方法をお伝えしていきます。

そもそもGASとは?

まさかめ
まさかめ
GASについて既に知ってるという方は読まなくて大丈夫です!

 

GAS(Google Apps Script)とは、Googleが提供しているプログラム言語です。

JavaScriptという言語をベースに作成されているので、既にJavaScriptを知っている方の場合は簡単に理解できると思います。

また、JavaScriptを知らないという方でもそこまで苦戦することなく使用できるレベルになる易しめの内容となっています。

 

主な用途としては、Googleのツールの拡張です。

具体的には、スプレッドシートで自作の関数を作成したり、メールの自動送信等が可能となります。

まさかめ
まさかめ
詳しくは今後執筆予定の記事を参照!

スプレッドシートからスライドを更新する方法

さて、本題のスプレッドシートからスライドを更新する手順は下記の通りです。

 

  1. 更新したいスライド自体のIDを確認
  2. 更新したいスライドのIDを確認
  3. 更新したい図形のIDを確認
  4. スプレッドシートに①②で確認した値を記入
  5. GAS(Google Apps Script)で更新用関数を作成
  6. ④で作成した関数を実行

 

今回は⇩に用意したスライドに記載されている日付と数値をスプレッドシートから更新できるようにしていきます。

 

まさかめ
まさかめ
順に確認していきましょう

 

①更新したいスライド自体のIDを確認

まずは、更新したいGoogleスライド自体のIDを確認しましょう。

 

画像の赤枠で囲まれた部分がGoogleスライド自体のIDです。

 

まさかめ
まさかめ
具体的には、⇩みたいにオレンジ色の部分が該当します

”…presentation/d/GoogleスライドID/edit…”

②更新したいスライドのIDを確認

Googleスライドでは、選択しているスライドに応じてURLが切り替わります。

そのうち、更新したいスライドのIDをコピーします。

まさかめ
まさかめ
今度は⇩のオレンジ部分ですね

”…d/GoogleスライドID/edit#slide=id.スライドID

③更新したい図形のIDを確認

次に、①で選択したスライドに記載の値を更新したい図形からIDを取得します。

上記では、ユニークユーザー数として記載されている”10,000″という値が記載されている図形のIDを確認しています。

Tips

図形のIDはデベロッパーツールで確認できます。

まさかめ
まさかめ
Macなら ”Cmd+Opt+I”、Windowsなら ”Ctrl+Shift+I”でデベロッパーツール画面が開きます!

④スプレッドシートに②③で確認した値を記入

そしたらスプレッドシートを作成し、②③で確認した値を記入します。

まさかめ
まさかめ
①の値は次で使用します

⑤GAS(Google Apps Script)で更新用関数を作成

次に、メニューから “拡張機能” > “App Script” と選択します。

今回はGASの詳しい説明は省きますが、下記コードをコピペで使用すればOKです。

また、①で確認したGoogleスライド自体のIDはこちらで使用しています。

function slideUpdate(){
  
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('シート1');
  const data  = sheet.getRange('A2:C' + sheet.getLastRow()).getValues();

  let slide, element;
  for (var i in data) {
    slide   = SlidesApp.openById("1A9tIE1iPiNqBD8CWxIeJ1uc8g8BQtN_BVwDAGcbG-18").getSlideById(data[i][0]);
    element = slide.getPageElementById(data[i]);
    element.asShape().getText().setText(data[i]);
  }
}
まさかめ
まさかめ
自分用で使う場合は ”シート名・対象の行列・スライドID” を変更すればOK!

⑥ ⑤で作成した関数を実行

最後に、⑤で作成したコードを保存して実行しましょう。

初回実行時には、承認を求められると思いますが、こちらは自分で作成したプログラムを使用しているだけなので承認して問題ありません。

まとめ

本記事のまとめです。

スプレッドシートからスライドを更新する手順は下記の通りです。

  1. 更新したいスライド自体のIDを確認
  2. 更新したいスライドのIDを確認
  3. 更新したい図形のIDを確認
  4. スプレッドシートに①②で確認した値を記入
  5. GAS(Google Apps Script)で更新用関数を作成
  6. ④で作成した関数を実行

これができるようになると、

「毎月作成する報告スライドを自動で作成できる」

「わざわざスライドを修正しなくてもスプレッドシートからすべて操作できる」

などの時短が可能となりますので、ぜひ使用してみてください。

まさかめ
まさかめ
読んでいただきありがとうございました!