皆さんは、普段の仕事でGoogleスプレッドシート・スライドを使いますか?
どのデバイスから開いても同じ内容が確認できたり、
簡単に人と共有できたりとなにかと便利なツールですが、こう思ったことはありませんか?
そこで本記事では、GASを用いてスプレッドシートからスライドを更新する方法をお伝えしていきます。
そもそもGASとは?
GAS(Google Apps Script)とは、Googleが提供しているプログラム言語です。
JavaScriptという言語をベースに作成されているので、既にJavaScriptを知っている方の場合は簡単に理解できると思います。
また、JavaScriptを知らないという方でもそこまで苦戦することなく使用できるレベルになる易しめの内容となっています。
主な用途としては、Googleのツールの拡張です。
具体的には、スプレッドシートで自作の関数を作成したり、メールの自動送信等が可能となります。
スプレッドシートからスライドを更新する方法
さて、本題のスプレッドシートからスライドを更新する手順は下記の通りです。
- 更新したいスライド自体のIDを確認
- 更新したいスライドのIDを確認
- 更新したい図形のIDを確認
- スプレッドシートに①②で確認した値を記入
- GAS(Google Apps Script)で更新用関数を作成
- ④で作成した関数を実行
今回は⇩に用意したスライドに記載されている日付と数値をスプレッドシートから更新できるようにしていきます。
①更新したいスライド自体の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を確認しています。
図形のIDはデベロッパーツールで確認できます。
④スプレッドシートに②③で確認した値を記入
そしたらスプレッドシートを作成し、②③で確認した値を記入します。
⑤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を確認
- 更新したいスライドのIDを確認
- 更新したい図形のIDを確認
- スプレッドシートに①②で確認した値を記入
- GAS(Google Apps Script)で更新用関数を作成
- ④で作成した関数を実行
これができるようになると、
「毎月作成する報告スライドを自動で作成できる」
「わざわざスライドを修正しなくてもスプレッドシートからすべて操作できる」
などの時短が可能となりますので、ぜひ使用してみてください。